Python-urllib2超时
下面是我的代码片段Python-urllib2超时,python,urllib2,Python,Urllib2,下面是我的代码片段 opener = urllib2.build_opener(redirect_handler.MyHTTPRedirectHandler()) opener.addheaders = [('Accept-encoding', 'gzip')] fetch_timeout = 12 self.response = opener.open(url, timeout=fetch_timeout) 但是,它的代码在超时前仍要等待60秒。。。 有什么线索吗?您使用的是哪个版本。它是在
opener = urllib2.build_opener(redirect_handler.MyHTTPRedirectHandler())
opener.addheaders = [('Accept-encoding', 'gzip')]
fetch_timeout = 12
self.response = opener.open(url, timeout=fetch_timeout)
但是,它的代码在超时前仍要等待60秒。。。
有什么线索吗?您使用的是哪个版本。它是在2.6中添加的 方法也很简单
urllib2.urlopen(url[, data][, timeout])
你能试着提供吗
self.response = opener.open(url, None, fetch_timeout)
是的,对于所有其他的,您仍然可以使用套接字模块来设置套接字超时。您可能需要设置套接字超时
import socket
default_timeout = 12
socket.setdefaulttimeout(default_timeout)
看看这个类和方法 +1,当你的回答进来时,我正在编辑我的答案。这适用于所有版本。似乎不想工作。执行socket.setdefaulttimeout(12),然后打印socket.getdefaulttimeout()表示无这是OSX Snow Leopard上的2.6.1