[Windows 7 64位; Python 2.7]
如果我尝试使用Urllib2,我会收到此错误
Traceback (most recent call last):
File "C:\Users\cYanide\Documents\Python Challenge\1\1.py", line 7, in <module>
response = urllib2.urlopen('http://python.org/')
File "C:\Python27\lib\urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "C:\Python27\lib\urllib2.py", line 400, in open
response = meth(req, response)
File "C:\Python27\lib\urllib2.py", line 513, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python27\lib\urllib2.py", line 438, in error
return self._call_chain(*args)
File "C:\Python27\lib\urllib2.py", line 372, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 521, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
**urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required**
现在,我背后需要身份验证的大学代理,这可能就是为什么会发生这种情况的原因。但Urllib2不应该从系统设置中提取身份验证和代理信息吗?
我知道有一些额外的代码可以插入到我的程序中以“硬编码”程序中的代理信息但我真的不想这样做,除非它是最后的手段。它会阻碍程序在具有不同身份验证ID和密码的计算机上的可移植性。
答案 0 :(得分:2)
您的程序应该看到在Windows中设置的环境变量。所以在Windows中有这两个环境变量。
HTTP_PROXY = http://username:password@proxyserver.domain.com
HTTPS_PROXY = https://username:password@proxyserver.domain.com
继续执行你的脚本。它应该选择合适的验证器并继续连接。