python urllib2 can open localhost but not 127.0.0.1

元气小坏坏 提交于 2019-12-13 10:48:22

问题


I am using python urllib2 library and can see a strange and nasty problem.

Windows 7.

My code:

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

It works perfectly well, but when I change localhost to 127.0.0.1 this error happens:

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

Another addresses like google.com can be opened sucessfully. The only problem is 127.0.0.1

Any ideas?


回答1:


Set a no_proxy or NO_PROXY environment key with 127.0.0.1, optionally with localhost too:

import os

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

On Windows the ProxyOverride key in the HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings registry is consulted as well, you probably have localhost registered as exception. Check your proxy settings to verify this.



来源:https://stackoverflow.com/questions/16060254/python-urllib2-can-open-localhost-but-not-127-0-0-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!