代理身份验证错误-python

2024-05-17 05:28:25 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我写了几行简单的代码。但我好像收到了一个认证错误。有谁能建议一下,这里正在查找python的哪些凭据?

代码:

import urllib2
response = urllib2.urlopen('http://google.com')
html = response.read()

错误

urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required

备注:我没有IE-->;高级设置或regedit的帐户

按照建议,我修改了代码:

import urllib2
proxy_support = urllib2.ProxyHandler({'http':r'http://usename:psw@IP:port'})
auth = urllib2.HTTPBasicAuthHandler()
opener = urllib2.build_opener(proxy_support, auth, urllib2.HTTPHandler)
urllib2.install_opener(opener)
response = urllib2.urlopen('http://google.com')
html = response.read()

我还创建了两个环境变量:

HTTP_PROXY = http://username:password@proxyserver.domain.com
HTTPS_PROXY = https://username:password@proxyserver.domain.com

但还是有错误。

urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required


Tags: 代码importcomhttpreadresponsehtml错误
3条回答

有多种方法可以解决你的问题。您可能需要尝试定义一个名为http_proxyhttps_proxy的环境变量,每个变量都设置为您的代理URL。有关详细信息,请参阅this链接。

或者,您可能需要显式地定义一个ProxyHandler,以便在通过代理处理请求时使用urllib2。链接已经存在于查询的注释中;但是为了完整起见,我将它包含在here中。

希望这有帮助

错误代码和消息似乎是用户名和密码未能通过代理服务器的身份验证。

以下代码:

proxy_handler = urllib2.ProxyHandler({'http': 'usename:psw@IP:port'})
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)
response = urllib2.urlopen('http://google.com')
html = response.read()

如果身份验证通过,则也应有效。

如果您的操作系统是windows,并且在ISA proxy之后,urllib2不使用任何关于proxy的信息,而是“Firewall Client for ISA server”自动对用户进行身份验证。这意味着我们不需要设置http_proxyhttps_proxy系统环境变量。在ProxyHandler中保持为空,如下所示:

proxy = urllib2.ProxyHandler({})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)

u = urllib2.urlopen('your-url-goes-here')
data = u.read()

相关问题 更多 >