古いboto
ライブラリでは、接続を開くときにproxy
,proxy_port
、proxy_user
およびproxy_pass
のパラメータを使用するのに十分簡単です。しかし、私はプログラムでboto3のプロキシパラメータを定義する同等の方法を見つけることができませんでした。 :(boto3でHTTP/HTTPSプロキシをどのように使用しますか?
答えて
を、botocore受け入れボトコア設定のproxies
引数。
import boto3
from botocore.config import Config
boto3.resource('s3', config=Config(proxies={'http': 'foo.bar:3128'}))
boto3リソース https://boto3.readthedocs.io/en/latest/reference/core/session.html#boto3.session.Session.resource
botocoreコンフィグ https://botocore.readthedocs.io/en/stable/reference/config.html#botocore.config.Config
あなたのユーザのプロキシサーバーを使用すると、ユーザのプロキシサーバは、環境変数を変更することから、など怒鳴る別に
import os
os.environ["HTTP_PROXY"] = "http://user:[email protected]:port"
os.environ["HTTPS_PROXY"] = "https://user:[email protected]:port"
envirion値の前後に引用符を正しく挿入するようにしてください。この回答は、プロキシの冒頭に欠けている – mightymephisto
を指摘してくれてありがとう – user881703
これは動作しますが、環境変数を変更するのは面倒です。プログラムに沿って他のサーバーへのHTTP要求を実行する必要がある場合、そのような要求はs3プロキシサーバー経由でルーティングされますが、これはあなたが望むものではありません。 s3のクエリが終了した後、env変数を元の値に戻すことで解決できますが、より良い解決策が必要でした。 – albarji
を試してみてください パスワードを持っているかのように怒鳴る
import os
os.environ["HTTP_PROXY"] = "http://proxy.com:port"
os.environ["HTTPS_PROXY"] = "https://proxy.com:port"
てみ ないパスワードが設定されている場合
boto3はbotocoreを使用しているので、私はソースコードを見ています:クラスにproxies = self._get_proxies(final_endpoint_url)
によって呼び出され
def _get_proxies(self, url):
# We could also support getting proxies from a config file,
# but for now proxy support is taken from the environment.
return get_environ_proxies(url)
...:このリンクから
https://github.com/boto/botocore/blob/66008c874ebfa9ee7530d944d274480347ac3432/botocore/endpoint.py
は、我々はで終わります。短い話ですが、python2を使用している場合、urllib2のgetproxies
メソッドが使用され、python3を使用している場合はurllib3が使用されます。
get_environ_proxies
は、{'http:' 'url'}
(と私はhttps
も推測しています)を含むdictを期待しています。
あなたはいつもpatch
コードを書くことができますが、それは貧弱な方法です。
これは私が後のBoto開発者は、接続固有のプロキシ設定できるように、少なくともまで、モンキー・パッチ適用をお勧めしますまれの一つである:少なくともバージョン1.5.79のよう
import botocore.endpoint
def _get_proxies(self, url):
return {'http': 'http://someproxy:1234/', 'https': 'https://someproxy:1234/'}
botocore.endpoint.EndpointCreator._get_proxies = _get_proxies
import boto3
- 1. boto3のレガシードキュメントはどのように入手できますか?
- 2. PhproxyでプロキシIPをどのように設定しますか?
- 3. pyzmqでは、どのようにプロキシを停止しますか?
- 4. プロキシをサービスにどのように注入しますか?
- 5. boto3でAWS Serverless Application Modelテンプレートをどのように配備しますか?
- 6. MTurkワーカー資格スコアをboto3でどのように更新しますか?
- 7. どのようにrequests.Session()オブジェクトのプロキシを変更しますか?
- 8. プロキシはどのようにファイアウォールフィルタをバイパスしますか?
- 9. boto3を使用してdynamodbの2次インデックスをクエリするにはどうすればよいですか?
- 10. jQuery - どのようにプロキシを設定できますか?
- 11. boto3を使用し、他のboto3コンポーネント(すなわちリソース)を使用して動的ログインしていますか?
- 12. httpプロキシはどのように動作しますか?
- 13. どのように私はプロキシなしでクローンをgitできますか?
- 14. boto3を使用してps2クライアントのEC2からRDSにssh接続プロキシを作成する方法は?
- 15. boto3のEMRクライアントrun_job_flowはInstanceProfileは、私はこのようなEMRクラスタを起動するためにboto3使用しようとしています
- 16. サービスディスカバリのための領事およびHAプロキシ - どのようなものを使用しますか?
- 17. 引数を取るコンストラクタでどのように動的プロキシを使用できますか?
- 18. javascriptからアドオンを使用してプロキシを変更するにはどうすればよいですか?
- 19. コマンドラインを使用して、プロキシをアンドロイドエミュレータに設定するにはどうすればよいですか?
- 20. プロキシ認証を使用するようにこのプロキシを切り替えるにはどうすればよいですか?
- 21. ウェブサイトは私がプロキシを使用していることをどのように知っていますか?
- 22. ページオブジェクトモデルデザインでどのようにSelenium ExpectedConditionsを使用しますか?
- 23. どのようにListView Djangoでフォームを使用しますか?
- 24. Spring-WSでWebServiceMessageDrivenBeanをどのように使用しますか?
- 25. どのようにOS XでSchemeを使用しますか?
- 26. webglでどのようにストライドを使用しますか?
- 27. MSBuildをSVNでどのように使用しますか?
- 28. XCodeでどのようにグループを使用しますか?
- 29. vuejsでopenlayers3をどのように使用しますか?
- 30. PropertyGridでNodaTimeクラスをどのように使用しますか?
瞬間に、私は次のようなものを使用することだ: '輸入OS;はos.environの[」 HTTP_PROXY "] =" http://yourproxy.com:1234 "; os.environ ["HTTPS_PROXY"] = "https://yourproxy1.com:1234"「 – Mani
私はこれがうまくいくことをドキュメンテーションには何の言及も見つかりませんでした。例えば、 'HTTPS_PROXY'を使っているbotoではうまくいかず、' HTTP_PROXY'だけです。 – asieira
とにかく、boto3 GitHubリポジトリに問題がオープンしました:https://github.com/boto/boto3/issues/338 – asieira