我的代理是:'http://abc:zyx#123$@http://proxy.mycompany.com:8800/';
当我跑步时:
response = requests.get(
url, stream=True, headers=headers, proxies=my_proxies);
我收到错误:
文件“C:\Program Files\Python�\lib\site-packages equests pi.py”,第 115 行,在帖子中 返回请求(“post”,url,data=data,json=json,**kwargs) 文件“C:\Program Files\Python�\lib\site-packages equests pi.py”,第 59 行,请求中 返回 session.request(method=method, url=url, **kwargs) 文件“C:\Program Files\Python�\lib\site-packages equests\sessions.py”,第 589 行,请求中 resp = self.send(prep, **send_kwargs) 文件“C:\Program Files\Python�\lib\site-packages equests\sessions.py”,第 703 行,发送中 r = 适配器.send(请求, **kwargs) 文件“C:\Program Files\Python�\lib\site-packages equests dapters.py”,第 456 行,发送中 引发 InvalidURL(e, request=request) requests.exceptions.InvalidURL:无法解析:http://abc:zyx#123$@http://proxy.mycompany.com:8800/
当我从密码中删除 # 时,出现以下错误:File "C:\Program Files\Python�\lib\site-packages
equests pi.py”,第 115 行,在帖子中
返回请求(“post”,url,data=data,json=json,**kwargs)
文件“C:\Program Files\Python�\lib\site-packages
equests pi.py”,第 59 行,请求中
返回 session.request(method=method, url=url, **kwargs)
文件“C:\Program Files\Python�\lib\site-packages
equests\sessions.py”,第 589 行,请求中
resp = self.send(prep, **send_kwargs)
文件“C:\Program Files\Python�\lib\site-packages
equests\sessions.py”,第 703 行,发送中
r = 适配器.send(请求, **kwargs)
文件“C:\Program Files\Python�\lib\site-packages
equests dapters.py”,第 513 行,发送中
引发 ProxyError(e, 请求=请求)
requests.exceptions.ProxyError:HTTPSConnectionPool(host ='api.precisely.com',port = 443):超过最大重试次数,网址:/ oauth / token(由ProxyError('无法连接到代理',NameResolutionError(“
我认为密码中的 # 导致了错误,我该如何解决它?
根据RFC 3986,
userinfo
部分需要进行pct编码:
userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
这应该有效:
my_proxies = {"http": "http://abc:zyx%23123%[email protected]:8800/"}
response = requests.get(url, proxies=my_proxies)
#
和 $
的百分比编码形式分别是 %23
和 %24
。