mirror of
https://github.com/python/cpython.git
synced 2024-11-25 10:54:51 +08:00
Bug #902075: urllib2 now handles "host:port" proxy specifications
Can/should this be backported?
This commit is contained in:
parent
3d56350910
commit
531cebad4c
@ -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.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user