python FancyURLopener超时

时间:2010-03-17 16:29:20

标签: python timeout urllib

有没有办法为FancyURLopener()设置连接超时? 我正在使用FancyURLopener.retrieve()来下载文件,但有时它只是卡住而且这就是全部...我认为这是因为它仍在尝试连接而且它不可能。那么有没有办法设置超时?

感谢您的每一个回复

2 个答案:

答案 0 :(得分:4)

如果您希望retrieve()使用超时,可以在socket模块中进行设置。

import socket
socket.setdefaulttimeout(5)

来源:http://docs.python.org/py3k/howto/urllib2.html#sockets-and-layers

答案 1 :(得分: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()