Proxy Authentication using urllib2

John J. Lee jjl at
Sun Sep 21 23:43:56 CEST 2003

Andre Bocchini <lists at> writes:

> I'm having some trouble using proxy authentication.  I can't figure
> out how to authenticate with a Squid proxy.  I know for a fact the
> proxy is using Basic instead of Digest for the authentication.  I can
> authenticate just fine using Mozilla.  I've done some Google searches,
> but the closest piece of code I've is is for HTTPBasicAuthHandler:
> proxy_handler = urllib2.ProxyHandler({"http" : "http://myproxy:3128"})
> proxy_auth_handler = urllib2.ProxyBasicAuthHandler()
> proxy_auth_handler.add_password(None, "myproxy", "myname", "mypass")
> opener = urllib2.build_opener(proxy_handler, proxy_auth_handler)
> urllib2.install_opener(opener)
> f = urllib2.urlopen("")
> data = f.readlines()

Can't see anything wrong with that.

> I always get a 407 error.

Are you sure you don't need a realm?  Try sniffing what Mozilla and
Python are sending (using eg. ethereal).  You *should* get a 407
response, IIRC, but then urllib2 should respond with an appropriate
Proxy-authorization header.

If that helped, please look at the doc patch here

test it, and post a comment to say whether or not it worked (and which
examples you tried -- preferably all of them ;).


More information about the Python-list mailing list