3

嗨,我写了几行简单的代码。但我似乎遇到了身份验证错误。任何人都可以建议,这里正在寻找 python 的哪些凭据?

代码:

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

错误

urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required

PS:我没有访问 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

4

3 回答 3

5

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

或者,您可能希望显式定义一个ProxyHandler以在通过代理处理请求时与 urllib2 一起使用。该链接已经存在于您的查询的评论中;但是,为了完整起见,我将其包括在此处

希望这可以帮助

于 2013-08-20T06:08:38.730 回答
1

如果您的操作系统是windows 并且在 ISA 代理之后,则 urllib2 不使用任何有关代理的信息;相反,“ISA 服务器的防火墙客户端”会自动对用户进行身份验证。这意味着我们不需要设置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()
于 2015-06-03T17:29:17.707 回答
-1

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

以下代码:

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()

如果身份验证通过,也应该可以工作。

于 2016-08-05T06:17:23.047 回答