Я написал сканер на python для загрузки некоторых веб-страниц с веб-сайта на основе заданных URL-адресов.Я заметил, что иногда моя программа зависает в этой строке "conn.getresponse ()".Не было никаких исключений, и программа просто ждала там вечно.
conn = httplib.HTTPConnection(component.netloc)
conn.request("GET", component.path + "?" + component.query)
resp = conn.getresponse() #hang here
Я прочитал API-документ и он говорит, что (чтобы добавить тайм-аут):
conn = httplib.HTTPConnection(component.netloc, timeout=10)
Однаконе позволяет мне «повторить» соединение.Какова наилучшая практика повторного сканирования после тайм-аута?
Например, я думаю о следующем решении:
trials = 3
while trials > 0:
try:
... code here ...
except:
trials -= 1
Я в правильном направлении?