establecer el tiempo de espera en una llamada urllib2.request ()

Necesito establecer el tiempo de espera en urllib2.request() .

No uso urllib2.urlopen() porque estoy usando el parámetro de data de la request . ¿Cómo puedo configurar esto?

Aunque urlopen acepta el urlopen data para POST , puede llamar a urlopen en un objeto de Request como este,

 import urllib2 request = urllib2.Request('http://www.example.com', data) response = urllib2.urlopen(request, timeout=4) content = response.read() 

aún así, puedes evitar usar urlopen y proceder así:

 request = urllib2.Request('http://example.com') response = opener.open(request,timeout=4) response_result = response.read() 

esto funciona también 🙂

¿Por qué no usar las peticiones impresionantes? Te ahorrarás mucho tiempo.

Si está preocupado por la implementación, simplemente cópielo en su proyecto.

P.ej. de peticiones:

 >>> requests.post('http://github.com', data={your data here}, timeout=10)