python FancyURLopener 超时设置
有没有办法为FancyURLopener()设置连接超时时间?我正在使用FancyURLopener.retrieve()来下载一个文件,但有时候它就卡在那里,什么都不动……我觉得这可能是因为它还在尝试连接,但连接不上。那么,有没有办法设置这个超时时间呢?
谢谢大家的回复
2 个回答
1
抱歉,问题解决了。
我之前没意识到我可以用这样的方式...
fileName = string.split(url, '/')[-1]
data = urllib2.urlopen(url, timeout = 5) //Connection timeout set to 5 secs
newF = open(os.path.join(os.getcwd(), fileName), "wb")
newF.write(data.read())
newF.close()
4
如果你想在使用 retrieve()
的时候设置一个超时时间,可以在 socket
模块里进行设置。
import socket
socket.setdefaulttimeout(5)
来源:http://docs.python.org/py3k/howto/urllib2.html#sockets-and-layers