Форум сайта python.su
В общем мне нужно обращаться к некоторому сайту и передавать ему данные. Проще говоря бот нужен. Есть такой нюанс, что данные передаются не постоянно, а делаются паузы через time.sleep() паузы могут достигать одного часа. Исполязую такую функцию для этого:
con=httplib.HTTPConnection('www.labwar.ru:80')
print 'Start...'
def post(query, dat, useragent='Vertu Platinum 1.5268'):
global site, con
errcount=0
site=''
headers={'Content-Type':'application/x-www-form-urlencoded', 'User-Agent':useragent}
errflag=1
while errflag==1:
try:
con.request('POST', query, dat, headers)
temp=con.getresponse()
site=temp.read()
errflag=0
except:
sleep(15)
errcount+=1
if errcount>3:
print 'Reconnect...'
con=httplib.HTTPConnection('www.labwar.ru:80')
errcount=0
Офлайн
Соединение отключается по таймауту. Что мешает просто заново подключаться?
Офлайн
Не знаю… В этом то и прикол, что не знаю… Вроде бы все должно работать нормально… Только почему то не работает долго. Вот сейчас такой лог
Start…
End itteration ::: 4 (здесь он 40 минут спит)
Reconnect…
End itteration ::: 4 (здесь он 40 минут спит)
но в один прекрасный момент просто нечто вроде
Reconnect…
Reconnect…
Reconnect…
Reconnect…
и так до бесконечности. Соединение с интернетом стабильное. Файрвол настроил так, что питону разрешены любые подключения и все равно ошибка (((
Офлайн
Ну так ты посмотри почему исключение возникает. Мне всегда советовали голый except не использовать, теперь вот сам советую :)
минимум это можно:
except Exception,x:
print x
Офлайн