From: Georg Brandl <georg@python.org> Date: Sat, 21 Jan 2006 07:20:56 +0000 (+0000) Subject: Bug #902075: urllib2 now handles "host:port" proxy specifications X-Git-Tag: v2.5a0~773 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=531cebad4c815f8fcf7abaf680ceb88c014d7d3f;p=python Bug #902075: urllib2 now handles "host:port" proxy specifications Can/should this be backported? --- diff --git a/Lib/urllib2.py b/Lib/urllib2.py index 015fdb51e8..ba0d5b57ad 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: diff --git a/Misc/NEWS b/Misc/NEWS index ca5c5d9d0b..af41f33cea 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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.