14

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

4

2 に答える 2

13

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

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

from urllib3 import ProxyManager, make_headers

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

# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackoverflow.com/')
于 2015-07-01T09:08:13.243 に答える
6

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

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 にコミットしました。これは私を正しい方向に向けてくれました

于 2016-11-02T09:23:49.143 に答える