我正在下载一个包含以下代码的大量文件:
try: urllib.urlretrieve(url2download, destination_on_local_filesystem) except KeyboardInterrupt: break except: print "Timed-out or got some other exception: "+url2download
如果在刚刚启动连接时服务器在URL url2download上超时,则会正确处理最后一个异常.但有时服务器响应,并开始下载,但服务器太慢,即使一个文件也需要几个小时,最终它会返回如下内容:
Enter username for Clients Only at albrightandomalley.com: Enter password for in Clients Only at albrightandomalley.com:
并挂起(虽然如果通过浏览器下载相同的链接,则不会使用用户名/密码).
我在这种情况下的意图是 - 跳过这个文件然后转到下一个文件.问题是 - 怎么做?有没有办法在python中指定下载一个文件可以工作多长时间,如果已经花费了更多时间,请中断并继续前进?
尝试:
import socket
socket.setdefaulttimeout(30)