Tom Tom - 1 year ago 175
Python Question

How to handle proxies in urllib3

I am having trouble finding solid examples of how to build a simple script in urllib3 which opens a url (via a proxy), then reads it and finally prints it. The proxy requires a user/pass to authenticate however it's not clear to me how you do this? Any help would be appreciated.

Answer Source

urllib3 has a ProxyManager component which you can use. You'll need to build headers for the Basic Auth component, you can either do that manually or use the make_headers helper in urllib3.

All together, it would look something like this:

from urllib3 import ProxyManager, make_headers

default_headers = make_headers(basic_auth='myusername:mypassword')
http = ProxyManager("", headers=default_headers)

# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', '')
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download