2013-04-15 8 views

Odpowiedz

12
urllib2.urlopen("http://www.example.com", timeout=5) 
+0

spowoduje to, że dane xml są pobierane co 5 sekund? – user2263305

+2

Absolutnie nie. Spowoduje to pobranie danych do czasu upłynięcia 5 sekund – Yarkee

+0

po dodaniu parametru timeout, a skrypt Pythona pobierze dane co 3/5 sekundy. Ale kiedy nie używam limitu czasu, pobiera dane 1-5 razy na sekundę. Co się dzieje? dzięki – user2263305

7

Z urllib2 documentation ...

Opcjonalny parametr timeout określa limit czasu w sekundach dla operacji blokujących, takich jak próby połączenia (o ile nie określono, globalny domyślne ustawienie limitu czasu będzie używany). To faktycznie działa tylko dla połączeń HTTP, HTTPS i FTP.

+2

A jeśli chcesz złapać wyjątek, trzeba złapać wszystkie z nich .. 'ssl.SSLError',' urllib2.URLError', 'socket.timeout',' socket.error '(prawdopodobnie nie zawierałem wszystkiego). Niektóre z nich nie zawsze będą skutkiem przekroczenia limitu czasu, ale możesz sprawdzić instancję wyjątku w określony sposób, aby się przekonać, i przejąć ponownie, jeśli nie. – GP89

+0

wielkie dzięki. – user2263305

Powiązane problemy