Python 唯一的URL错误:<;urlopen错误超时>;我犯了一个错误
我正在生产服务器上运行我的应用程序,它给了我以下错误:Python 唯一的URL错误:<;urlopen错误超时>;我犯了一个错误,python,apache,firewall,production,Python,Apache,Firewall,Production,我正在生产服务器上运行我的应用程序,它给了我以下错误: File "/usr/lib/python2.6/urllib2.py", line 391, in open response = self._open(req, data) File "/usr/lib/python2.6/urllib2.py", line 409, in _open '_open', req) File "/usr/lib/python2.6/urllib2.py", line 369, in _
File "/usr/lib/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 1161, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
raise URLError(err)
URLError: <urlopen error timed out>
可能的原因是什么?任何帮助都将不胜感激 您能否在生产服务器上使用
wget
检索有问题的URL?这可能是防火墙问题,而不是Python错误。生产机器可能比您的测试或本地机器花费的时间长得多,这似乎是合理的,可能是因为生产系统的资源调配不足或负载过大,所以您应该检查是否知道您的超时情况,并且没有意外设置全局超时的力度太大
这可能是socket.setdefaulttimeout/socket.settimeout的问题。对urllib2.urlopen的调用应接受python2.6中的超时参数。尝试urllib2.urlopen(…,timeout=None),看看这是否解决了问题
在进行urlopen调用之前,我还要确认socket.getdefaulttimeout的值
ubuntu 10.04