代理身份验证错误 - python

时间:2013-08-20 05:36:31

标签: python authentication proxy urllib2 python-2.6

您好我写了几行简单的代码。但我似乎收到了身份验证错误。任何人都可以建议,在这里寻找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

3 个答案:

答案 0 :(得分:5)

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

或者,您可能希望在通过代理处理请求时明确定义 ProxyHandler 以使用urllib2。该链接已存在于您的查询的评论中;但为了完整起见,我将here包括在内。

希望这有帮助

答案 1 :(得分:1)

如果您的操作系统是 Windows并且在ISA代理后面,则urllib2不会使用任何有关代理的信息;而是#34; 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()

答案 2 :(得分:-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()
如果传递身份验证,

也应该有效。