Urllib2 / add_password method

John J. Lee jjl at pobox.com
Sat Apr 29 14:58:21 EDT 2006


"mrstephengross" <mrstephengross at hotmail.com> writes:

> I'm working on learning how to use urllib2 to use a proxy server. I've
> looked through the postings on this group, and it's been helpful. I
> have not, however, found complete documentation on the add_password()
> functions. Here's what I've got so far:

Don't use a password manager with proxy auth in 2.4, it doesn't work:

http://python.org/sf/1470846

[...]
> It works, but I don't really know what I'm doing with the
> proxy_auth_handler part. Specifying username and password make sense,
> but I haven't found documentation on what 'realm' and 'host' are for.
> Shouldn't username & password be sufficient?

Both proxy and auth handling in urllib2 are buggy in 2.4, but passing
the username and password in the "userinfo" component of the URL works
(didn't read your code, hope nothing important in there):

import urllib2

proxy_handler = urllib2.ProxyHandler({
    "http": "http://john:password@proxy.example.com:3128"})
opener = urllib2.build_opener(proxy_handler)

response = opener.open(url)


However, ISTR specifying a port number as I do above (the ":3128" bit)
is not supported in 2.4 (it does in current SVN, so will in 2.5).


Hmm, I notice just now that urllib2's digest auth support breaks
urllib2's handler scheme.  Must file another bug...


John




More information about the Python-list mailing list