32

Heroku サーバーの静的 IP アドレスを 1 つ取得する方法はありますか? IP アドレスを要求するさまざまな API を統合しようとしています。Heroku のサーバー設定により、静的 IP を持つサーバーは 1 つもありません。代わりに、IP は動的です。

Proximo などのアドオンを調べましたが、これは有料のソリューションのようです。支払う必要のない静的 IP があるソリューションはありますか?

4

3 に答える 3

9

フィクシーは別のオプションです。Fixie は、Heroku アプリケーションに送信リクエスト用の静的 IP アドレスの固定セットを提供するアドオンです。言語やフレームワークに依存しません。

Fixie はセットアップが簡単で、Ruby、Node、Java、Go hereの「開始」ドキュメント (以下の Python のドキュメントに似ています) があります。これはPython用のものです。

まず、無料プランにサインアップする必要があります。

$ heroku addons:open fixie
Opening fixie for sharp-mountain-4005…

次に、FIXIE_URLを環境変数として設定します。を使用して Fixie 経由で特定のリクエストをルーティングするにはrequests:

import os, requests
proxyDict = { 
              "http"  : os.environ.get('FIXIE_URL', ''), 
              "https" : os.environ.get('FIXIE_URL', '')
            }
r = requests.get('http://www.example.com', proxies=proxyDict)

同じ機能を使用urllib2すると、次のようになります。

import os, urllib2
proxy  = urllib2.ProxyHandler({'http': os.environ.get('FIXIE_URL', '')})
auth   = urllib2.HTTPBasicAuthHandler()
opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)
response = opener.open('http://www.example.com')
html = response.read()

どちらの場合も、これらのリクエストは、Fixie によって割り当てられた既知の IP アドレスを介して送信されます。

于 2015-09-26T23:35:48.340 に答える