Python urllib2.URLError:<;urlopen错误[Errno 11004]getaddrinfo失败>;

Python urllib2.URLError:<;urlopen错误[Errno 11004]getaddrinfo失败>;,python,urllib2,Python,Urllib2,如果我跑步: urllib2.urlopen('http://google.com') 即使我使用另一个url,我也会得到相同的错误 我很确定我的电脑或路由器上没有防火墙,互联网(通过浏览器)也可以正常工作。您可能需要使用代理。请检查您的正常浏览器设置,以确定是哪种设置。查看解决方案中的类似问题。,如果是网络级别的问题,这可能对您没有帮助,但您可以通过在httplib上设置debuglevel来获取一些调试信息。试试这个: import urllib, urllib2, httplib ur

如果我跑步:

urllib2.urlopen('http://google.com')
即使我使用另一个url,我也会得到相同的错误


我很确定我的电脑或路由器上没有防火墙,互联网(通过浏览器)也可以正常工作。

您可能需要使用代理。请检查您的正常浏览器设置,以确定是哪种设置。查看解决方案中的类似问题。,

如果是网络级别的问题,这可能对您没有帮助,但您可以通过在httplib上设置debuglevel来获取一些调试信息。试试这个:

import urllib, urllib2, httplib

url = 'http://www.mozillazine.org/atom.xml'
httplib.HTTPConnection.debuglevel = 1

print "urllib"

data = urllib.urlopen(url);

print "urllib2"

request = urllib2.Request(url)
opener = urllib2.build_opener()
feeddata = opener.open(request).read()

这是直接从这里复制的,希望这是洁食:

要解决此问题:

  • 让我们了解脚本运行的操作系统以及Python的版本
  • 在同一台机器上的命令提示符下,对google.com进行ping操作,并观察其是否有效(或者说“找不到主机”)
  • 如果(2)有效,请在该机器上打开浏览器(在Windows上尝试使用IEIf),然后尝试在那里打开“google.com”。如果有问题,请仔细查看Internet选项/连接/LAN设置中的代理设置

  • 让我们知道它是如何运行的。

    站点的DNS记录使得Python以一种特殊的方式使DNS查找失败:它找到条目,但没有关联的IP地址。(使用nslookup进行验证。)因此

    请在站点前面加上“www.”前缀,然后重试请求。(使用nslookup也可以验证其结果是否不同。)

    这与以下情况基本相同:


    requests.exceptions.ConnectionError:HTTPConnectionPool(主机=“…”,端口=80):url:/(由:[Errno 11004]getaddrinfo失败引起)超过了最大重试次数。

    在我的情况下,问题是在我没有代理的情况下,某些安装在某个点在我的计算机上定义了环境变量http\u proxy


    删除http_proxy环境变量修复了该问题。

    向http添加s,即urllib2.urlopen(“”)


    为我工作

    Im不在公司防火墙后面,并且在我的浏览器中没有定义代理。您可以尝试“telnet www.mozillazine.org”,然后键入“GET/http1.1”并按enter键。它是否显示该站点的任何html输出?同时尝试ping autoproxy尝试使用的神奇主机“wpad”。autoproxy的完整url应为“”。。