Portál AbcLinuxu, 10. května 2025 02:23

Dotaz: Python HTTPlib timeout

26.1.2011 11:02 PMartinek
Python HTTPlib timeout
Přečteno: 177×
Odpovědět | Admin
Dobry den,

mam script v pythonu, ktery se sekvencne pripojuje domenam specifikovanym ve vstupnim souboru. Pripojovani probiha pomoci tridy httplib a metody HTTPConnection, ktere specifikuji timeout na 10. Podle manualu by tato hodnota mela odpovidat poctu sekund, po jejichz vyprseni se spojeni timeoutuje. At vsak menim tuto hodnotu jak chci, vzdy pokud narazim na nedostupnou domenu, skript ceka 2 az 3 minuty nez provede timout. Nevite prosim, cim muze byt toho chovani zpusobeno?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.1.2011 11:15 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Python HTTPlib timeout
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co znamená „nedostupná doména“? Nemá žádné záznamy v DNS? Nemůže být problém právě v tom? I když by to bylo divné chování, normálně by měl DNS klient dostat hned odpověď, že doména neexistuje. Nemáte ale špatně nastavené DNS resolvery, takže by se klient pokoušel dotazovat neexistujícího/nedostupného serveru, a čekal na odpověď, dokud nevyprší timeout? Zkuste ty problémové domény přeložit nástrojem host nebo na ně pingnout, zda bude překlad trvat také tak dlouho.
26.1.2011 16:06 PMartinek
Rozbalit Rozbalit vše Re: Python HTTPlib timeout
Konkretni domena u ktere mi to dela je treba:
0k.sk
Ten prvni znak je nula. Prikaz host mi na tuto domeny vrati IP hned, ping nejde vubec.
27.1.2011 11:29 migel
Rozbalit Rozbalit vše Re: Python HTTPlib timeout
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle jsem už kdysi řešil, ale AFAIK timeout pro překlad názvu počítače nelze ve standardních pythonních knihovnách bohužel nastavit :-( (timeout pro gethostbyname je tam "natvrdo"). Tohle bylo u Python 2.6, nevím jak je to u řady 3.x .

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.