Bug #902075: urllib2 now handles "host:port" proxy specifications

Can/should this be backported?
This commit is contained in:
Georg Brandl 2006-01-21 07:20:56 +00:00
parent 3d56350910
commit 531cebad4c
2 changed files with 16 additions and 9 deletions

View file

@ -579,14 +579,19 @@ def __init__(self, proxies=None):
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:

View file

@ -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.