我正在使用python进行获取链接。突然我丢失了连接并显示如下错误。
IOError: [Errno socket error] [Errno 110] Connection timed out
如何重新连接相同的链接?
例如
import urllib
a = 'http://anzaholyman.files.wordpress.com/2011/12/zip-it.gif'
image = urllib.URLopener()
image.retrieve(a,'1.jpg')
答案 0 :(得分:2)
您只需使用try..except
语法:
import urllib
a = 'http://anzaholyman.files.wordpress.com/2011/12/zip-it.gif'
image = urllib.URLopener()
while True:
try:
image.retrieve(a,'1.jpg')
break
except IOError:
pass
答案 1 :(得分:1)
如果加载图形时出现实际问题,那么简单的while循环将永远不会结束,您的应用程序似乎会挂起。 为了防止这种情况,我通常使用一个计数器:
tries = 5
while tries:
try:
image.retrieve(a,'1.jpg')
break
except IOError:
tries -= 1 #and maybe with 0.1-1 second rest here
else:
warn_or_raise_something
为了防止出现问题,我还有时会在通话失败后的连续尝试之间使用延迟(time.sleep)