2011-02-16 130 views

回答

1

这可能不会帮助你,如果它是一个网络级别的问题,但你可以得到一些调试信息通过设置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() 

这是从这里直接复制,希望这是犹太:http://bytes.com/topic/python/answers/517894-getting-debug-urllib2

1

要解决的问题:

  1. 让我们知道什么操作系统会在脚本运行什么版本的Python
  2. 在同一台机器上的命令提示符下,执行ping google.com并观察它是否有效(或者你会说“无法找到主机”)
  3. 如果(2)正常工作,请在该机器上打开浏览器(如果在Windows上,请尝试在IE),然后尝试在那里打开“google.com”。如果出现问题,请仔细查看Internet选项/连接/局域网设置中的代理服务器设置

让我们知道它是怎么回事。

4

该网站的DNS记录是这样的,Python以一种奇怪的方式使DNS查找失败:它找到条目但没有关联IP地址。 (用nslookup验证。)因此,11004, WSANO_DATA

以'www。'为前缀的网站。并再次尝试请求。 (使用nslookup来验证它的结果是不同的,太。)

这基本上失败了Python Requests module以同样的方式:

requests.exceptions.ConnectionError:HTTPConnectionPool(主机= '...',端口= 80):最大重试次数超过与网址:/(致:[错误11004]的getaddrinfo失败)

4

的问题,在我的情况下,是一些安装在我的机器时,定义一个环境变量HTTP_PROXY一些点我没有代理。

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

相关问题