Bump exposed __version__ to 1.4.
Correctly handle a URL containing user:password@host when using a proxy.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index f1756e2..621785f 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -20,7 +20,7 @@
import os
-__version__ = '1.3'
+__version__ = '1.4'
# Helper for non-unix systems
if os.name == 'mac':
@@ -179,15 +179,18 @@
import httplib
if type(url) is type(""):
host, selector = splithost(url)
+ user_passwd, host = splituser(host)
else:
host, selector = url
+ urltype, rest = splittype(selector)
+ if string.lower(urltype) == 'http':
+ realhost, rest = splithost(rest)
+ user_passwd, realhost = splituser(realhost)
+ if user_passwd:
+ selector = "%s://%s%s" % (urltype,
+ realhost, rest)
print "proxy via http:", host, selector
if not host: raise IOError, ('http error', 'no host given')
- i = string.find(host, '@')
- if i >= 0:
- user_passwd, host = host[:i], host[i+1:]
- else:
- user_passwd = None
if user_passwd:
import base64
auth = string.strip(base64.encodestring(user_passwd))