/ / Python - timeout urllib2 - python, urllib2

Python - timeout urllib2 - python, urllib2

Ho qualcosa di seguito è snippet del mio codice

opener = urllib2.build_opener(redirect_handler.MyHTTPRedirectHandler())
opener.addheaders = [("Accept-encoding", "gzip")]
fetch_timeout = 12
self.response = opener.open(url, timeout=fetch_timeout)

tuttavia, il codice attende comunque 60 ~ secondi prima del timeout ... Qualche indizio?

risposte:

3 per risposta № 1

A un certo punto, probabilmente è necessario impostare il timeout del socket

import socket

default_timeout = 12

socket.setdefaulttimeout(default_timeout)

2 per risposta № 2

Che versione stai usando. È stato aggiunto in 2.6

Anche il metodo è

urllib2.urlopen(url[, data][, timeout])

Puoi provare a fornire

self.response = opener.open(url, None, fetch_timeout)

Sì, per tutti gli altri, potresti ancora usare il modulo socket per impostare il timeout del socket.


0 per risposta № 3

Guarda al OpenerDirector classe e il urllib2.install_opener () metodo.