python urllib2可以打开localhost但不能打开127.0.0.1

时间:2013-04-17 12:37:31

标签: python proxy localhost urllib2

我正在使用python urllib2库,可以看到一个奇怪而令人讨厌的问题。

Windows 7。

我的代码:

import urllib2 as url_request


opener = url_request.build_opener(url_request.ProxyHandler({'http': 'http://login:password@server:8080'}))
request = url_request.Request("http://localhost");
response = opener.open(request)
print response.read()

效果非常好,但当我将localhost更改为127.0.0.1时,会发生以下错误:

HTTPError: HTTP Error 502: Proxy Error ( Forefront TMG denied the specified Uniform Resource Locator (URL).  )

google.com等其他地址可以成功开通。 唯一的问题是127.0.0.1

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

使用no_proxy设置NO_PROXY127.0.0.1环境密钥,也可选择localhost

import os

os.environ['no_proxy'] = '127.0.0.1,localhost'

在Windows上,也会查询ProxyOverride注册表中的HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings密钥,您可能已将localhost注册为例外。检查您的代理设置以验证这一点。