The forms for http_proxy (and the likes) is not very well defined nor
documented in any authoritaive place. However, there are two common
forms: http://host:port or http://host:port/
Currently, the code chokes on the latter (e.g. with
http_proxy=http://127.0.0.1:8080/ ):
[...]
File "/usr/lib/python2.7/httplib.py", line 792, in _get_hostport
raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
httplib.InvalidURL: nonnumeric port: '8080/'
Chop off any slash character in the port definition to accept the second
form. If there is no '/' in there, it still works.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Stephen Finucane <stephenfinucane@hotmail.com>
def make_connection(self, host):
self.host = host
if self.proxy:
- host = self.proxy.split('://', 1)[-1]
+ host = self.proxy.split('://', 1)[-1].rstrip('/')
if self.credentials:
host = '@'.join([self.credentials, host])
if self.https: