PYTHON - URLLIB2 Catch socket.error

时间:2013-12-16 00:12:14

标签: python sockets python-2.7 urllib2

现在我正在使用urllib从服务器中提取一些数据。然而,服务器有点狡猾,往往会不时下降一分钟左右。要处理,当我的代码遇到错误时,它只等待两秒钟并再次尝试:

def fin(group):
try:
    data = urllib2.urlopen("cool website" + group)
    return data.read()
except urllib2.HTTPError, err:
    time.sleep(2)
    fin(group) #calls itself again
except urllib2.URLError, err:
    time.sleep(2)
    fin(group)

如果网站出现故障或我丢失了互联网连接,那该工作正常。但是,昨晚我让代码运行并出现了这个错误:

socket.error: [Errno 10053] An established connection was aborted by the software in your host machine 

我不太清楚如何捕获它。经过一番搜索后,我想我可能需要这样做:

except httplib.HTTPException, err:
    time.sleep(2)
    fin(group)

但我不确定。有人能帮助我吗?

0 个答案:

没有答案