web-dev-qa-db-ja.com

urllib3でプロキシを処理する方法

Urllib3で(プロキシ経由で)URLを開き、それを読み取って最後に出力する簡単なスクリプトを作成する方法の確かな例を見つけるのに苦労しています。プロキシは認証するためにユーザー/パスを必要としますが、これをどのように行うかは私にはわかりませんか?どんな助けでもいただければ幸いです。

8
Tom

urllib3には、使用できる ProxyManager コンポーネントがあります。基本認証コンポーネントのヘッダーを作成する必要があります。手動で作成するか、 make_headers urllib3のヘルパー。

まとめると、次のようになります。

from urllib3 import ProxyManager, make_headers

default_headers = make_headers(proxy_basic_auth='myusername:mypassword')
http = ProxyManager("https://myproxy.com:8080/", headers=default_headers)

# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackoverflow.com/')
8
shazow

私はこれに対する正しい答えは

from urllib3 import ProxyManager, make_headers

default_headers = make_headers(proxy_basic_auth='myusername:mypassword')
http = ProxyManager("https://myproxy.com:8080/", headers=default_headers)

# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackoverflow.com/')

(注:basic_authではなくproxy_basic_auth)

私は自分の環境でbasic_authを使ってこれを試していましたが、運がありませんでした。 shazowあなたはこのコメントをgitにコミットし、私を正しい方向に向けました

4
Maxwell Talbot