Ho bisogno di impostare il timeout su urllib2.request()
.impostazione del timeout su una chiamata urllib2.request()
Non utilizzo urllib2.urlopen()
poiché sto utilizzando il parametro data
di request
. Come posso impostare questo?
Ho bisogno di impostare il timeout su urllib2.request()
.impostazione del timeout su una chiamata urllib2.request()
Non utilizzo urllib2.urlopen()
poiché sto utilizzando il parametro data
di request
. Come posso impostare questo?
Anche se urlopen
non accetta data
param per POST
, è possibile chiamare urlopen
su un oggetto Request
come questo,
import urllib2
request = urllib2.Request('http://www.example.com', data)
response = urllib2.urlopen(request, timeout=4)
content = response.read()
Quale unità è 'timeout' in? –
@ MöbiusStripMall Seconds ([manual] (https://docs.python.org/2/library/urllib2.html)) – carla
Perché non utilizzare il fantastico requests? Ti risparmierai un sacco di tempo.
Se si è preoccupati per l'implementazione, è sufficiente copiarlo nel progetto.
Es. di richieste:
>>> requests.post('http://github.com', data={your data here}, timeout=10)
ancora, si può evitare di utilizzare urlopen e procedere in questo modo:
request = urllib2.Request('http://example.com')
response = opener.open(request,timeout=4)
response_result = response.read()
anche questo :)
Qual è il vantaggio di non utilizzare urlopen? – NumenorForLife
per impostare il timeout a livello globale, è possibile utilizzare 'socket.setdefaulttimeout()' – Mark