複数のIPアドレスを持つUbuntuサーバーがあります。たとえば、Pythonリクエストのようなライブラリのアウトバウンドリクエストに対して正しいIPアドレスを設定するにはどうすればよいですか?2つのIPアドレスを持つサーバーでpythonリクエストを使用する方法
1
A
答えて
2
デフォルトでは、これはアプリケーションレベルではなく、オペレーティングシステムによって処理されます。 Linuxのルーティングテーブルによれば、OSは到達しようとしている宛先IPに応じて適切なインタフェースを選択します。
ip route
コマンド(manual)でLinuxのルーティングテーブルを編集できます。
しかし、あなたはここで指定したネットワークインタフェース
を使用するようにアプリケーションを伝えることができますが、生のソケットと関連する質問と提案されたソリューションです:リクエストに
# From http://stackoverflow.com/questions/335607
import socket
s = socket.socket()
s.bind(("127.0.0.1", 0))
s.connect(("321.12.131.432", 80))
、それは以下のようになります。 (テストされていない)
# From http://stackoverflow.com/questions/12585317
import socket
real_create_conn = socket.create_connection
def set_src_addr(*args):
address, timeout = args[0], args[1]
source_address = ('IP_ADDR_TO_BIND_TO', 0)
return real_create_conn(address, timeout, source_address)
socket.create_connection = set_src_addr
import requests
r = requests.get('http://www.google.com')
+1
なぜ2 downvotes?解決策が間違っていたら削除してください。 – Eloims
関連する問題
- 1. Pythonで2つのIPアドレスからネットマスクを計算する方法
- 2. IPアドレスを持つローカルネットワークHTTPS
- 3. Pythonを使用してユーザエージェントとグローバルIPアドレスを見つける
- 4. 静的IPアドレスを持つサーバー上のリモートデバッグASP.NETアプリケーション
- 5. バッチファイルパスワードを持つサーバーを開くIPアドレスが
- 6. アプリケーションで使用するすべてのIPアドレスを見つける方法
- 7. 同じCNAME私は2つのIPアドレスでバランスの取れたドメイン持つ2つのIP
- 8. 複数のIPアドレスを持つruby scrapp
- 9. HTMLを使ってIPアドレスを見つける方法は?
- 10. NserviceBus IPアドレスを持つMSMQ入力キュー
- 11. 同じIPアドレスを持つAzure Webアプリケーション
- 12. IPアドレスのリストからIPアドレス範囲を見つける方法
- 13. as3とサーバー側の技術を使用してIPアドレスを見つける
- 14. Pythonで同時に2つのリクエストを送信する方法
- 15. 同じサブネットから2つのIPアドレスを持つLinux - PCの問題
- 16. ネットワークで使用されていないIPアドレスを見つける方法は?
- 17. 複数のサイトと1つのIPアドレスと1つのポートを持つWebサーバー上でlaravelを起動
- 18. QDnsLookupクラスを使用してウェブサイトのIPアドレスを見つける方法は?
- 19. TLS 1.2 - 2つのIPアドレスへのPOST?
- 20. Go/JavaのhttpリクエストでIPアドレスを変更する方法
- 21. IPアドレスを使用してHerokuのクライアントからサーバーを接続する方法
- 22. python - ファイルをループして特定のIPアドレスを持つ行を削除する
- 23. 共有ホストでmysqlのIPアドレスを見つける方法は?
- 24. 特定のIPアドレスを持つプリンタを使用してAndroidで印刷
- 25. OpenAMサーバー側スクリプトでユーザーのIPアドレスを取得する方法
- 26. Windows、DHCPサーバーの予約 - 無料のIPアドレスを見つける
- 27. ボレー(アンドロイド)でIPアドレスにPOSTリクエストを送信する方法
- 28. Pact-python URLにUUIDを持つリクエストをテストする方法
- 29. mtrでIPアドレスを見つける方法
- 30. Pythonを使用してHTTP POSTリクエストからIPアドレスを取得する
'requests'モジュールが使用するインターフェイスを設定することが可能かどうか尋ねることを意味しますか? – DeepSpace
この問題の解決方法を試してください:https://github.com/kennethreitz/requests/issues/394 – Alden
送信元アドレスへのバインドを意味する場合は、[request toolbelt](https://toolbelt.readthedocs.io /en/latest/adapters.html#sourceaddressadapter)。 –