Nik*_*nko 7 python pip http-proxy python-3.x
想继续问题 如何让pip在代理服务器后面工作
我有Windows Server和Python 3.5(64).
在密码中,我的用户包括#.
我尝试使用一些解决方法:
"C:\Program Files\Python35\scripts\pip.exe" install --proxy http://proxy_user:pwd#123@proxy.su:1111 TwitterApi "C:\Program Files\Python35\scripts\pip.exe" install --proxy "http://proxy_user:pwd#123"@proxy.su:1111 TwitterApi "C:\Program Files\Python35\scripts\pip.exe" install --proxy http://"proxy_user:pwd#123"@proxy.su:1111 TwitterApi "C:\Program Files\Python35\scripts\pip.exe" install --proxy http://proxy_user:"pwd#123"@proxy.su:1111 TwitterApi
但是得到错误
File "c:\program files\python35\lib\site-packages\pip\_vendor\requests\package
s\urllib3\util\url.py", line 189, in parse_url
raise LocationParseError(url)
pip._vendor.requests.packages.urllib3.exceptions.LocationParseError: Failed to p
arse: proxy_user:pwd
在这种情况下如何逃避角色#?
快速出路:以编码形式输入,即# -> %23
要么
pip处理此问题的更好方法可能是添加一个带有:的
--proxy-auth标志,并在将其添加到代理URL之前对用户进行编码。
问题 -这是不允许的:
严格来说,根据RFC 3986,文字#字符在URI的userinfo部分中无效,应进行百分比编码。但是,许多工具都能很好地处理这一点并不令人惊讶:该字符显然没有任何实际歧义。但是请注意,如果密码中包含@符号,则绝对必须对它进行urlencode:因此,在对密码进行URI编码之前,最好先对其进行urlencode。
在URL中使用'/','#'或'?'给定凭据时,对提交的问题parse_url的响应失败 :
授权组件的前面是双斜杠(“
//”),并由下一个斜杠(“/”),问号(“?”)或数字符号(“#”)字符或URI的结尾终止。换句话说,当前的行为是正确的,它期望权限被它之后的第一个/(或?或#)发现 终止//。我是否对尝试通过pip使用代理URI的人表示同情?绝对。我认为,一起入侵违反RFC的内容可能会在以后带来令人惊讶的惊喜。
| 归档时间: |
|
| 查看次数: |
4166 次 |
| 最近记录: |