私は、requests
ライブラリをいくつかのPythonコードで使用していましたが、私は企業のプロキシサーバーの暗い海域をナビゲートする助けが必要です。これまでリクエストライブラリのプロキシを無効にする
response = requests.get(url, proxies={...})
すべて良い:
は、次のコードを考えてみましょう。 requests
コールは、それに渡されたプロキシを使用します。次の例では
、requests
は環境変数で定義されたプロキシを使用していますHTTP_PROXY
とHTTPS_PROXY
:
response = requests.get(url)
(それが行くと、環境変数を見てトリガーなしにproxies
パラメータのデフォルト値。)
私がしたいことは、違ったものです。環境変数をそのまま使用したいのは、私が使用している他のアプリケーションに必要であるからです。しかし、私はプロキシを使用しないように要求したい。私は試しました:
しかし、requests
はまだ変わり、環境変数プロキシを取得します。自分の環境変数を設定しなくても、それをやめさせることはできません。
アイデア?
なぜ「NO_PROXY」は機能しますか?内部的に 'requests'は、' _proxy'という形式の環境変数を探す 'urllib.getproxies()'(これをチェックするためにソースコードを掘り下げました)を呼び出します。どのように新しい環境変数は、環境変数のスペースを使ってこの一見ブルートフォース検索をオーバーライドできますか? –
@AkshatMahajan:あなたは 'should_bypass_proxy()'コールを見逃しました。 –
ニース。いいキャッチ! –