diff options
-rw-r--r-- | Lib/urllib2.py | 21 | ||||
-rw-r--r-- | Misc/NEWS | 4 |
2 files changed, 16 insertions, 9 deletions
diff --git a/Lib/urllib2.py b/Lib/urllib2.py index 015fdb5..ba0d5b5 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -579,14 +579,19 @@ class ProxyHandler(BaseHandler): def proxy_open(self, req, proxy, type): orig_type = req.get_type() type, r_type = splittype(proxy) - host, XXX = splithost(r_type) - if '@' in host: - user_pass, host = host.split('@', 1) - if ':' in user_pass: - user, password = user_pass.split(':', 1) - user_pass = base64.encodestring('%s:%s' % (unquote(user), - unquote(password))).strip() - req.add_header('Proxy-authorization', 'Basic ' + user_pass) + if not type or r_type.isdigit(): + # proxy is specified without protocol + type = orig_type + host = proxy + else: + host, r_host = splithost(r_type) + user_pass, host = splituser(host) + user, password = splitpasswd(user_pass) + if user and password: + user, password = user_pass.split(':', 1) + user_pass = base64.encodestring('%s:%s' % (unquote(user), + unquote(password))).strip() + req.add_header('Proxy-authorization', 'Basic ' + user_pass) host = unquote(host) req.set_proxy(host, type) if orig_type == type: @@ -337,7 +337,9 @@ Extension Modules Library ------- -- Bug #1407902: Added support for sftp:// URIs to urlparse. +- Bug #902075: urllib2 now supports 'host:port' style proxy specifications. + +- Bug #1407902: Add support for sftp:// URIs to urlparse. - Bug #1371247: Update Windows locale identifiers in locale.py. |