Ich muss das Timeout auf urllib2.request()
setzen.Einstellung der Zeitüberschreitung auf einem urllib2.request() Anruf
Ich verwende urllib2.urlopen()
nicht, da ich den data
Parameter von request
verwende. Wie kann ich das einstellen?
Ich muss das Timeout auf urllib2.request()
setzen.Einstellung der Zeitüberschreitung auf einem urllib2.request() Anruf
Ich verwende urllib2.urlopen()
nicht, da ich den data
Parameter von request
verwende. Wie kann ich das einstellen?
Obwohl urlopen
akzeptiert data
param für POST
, Sie urlopen
auf einem Request
Objekt wie dieses,
import urllib2
request = urllib2.Request('http://www.example.com', data)
response = urllib2.urlopen(request, timeout=4)
content = response.read()
verwenden. Welche Einheit ist 'timeout' in? –
10 @ MöbiusStripMall Sekunden ([Handbuch] (https://docs.python.org/2/library/urllib2.html)) – carla
Warum nicht die tolle requests verwenden? Sie sparen sich viel Zeit.
Wenn Sie sich Sorgen über die Bereitstellung machen, kopieren Sie es einfach in Ihr Projekt.
Eg. von Anfragen:
>>> requests.post('http://github.com', data={your data here}, timeout=10)
noch nennen kann, können Sie wie folgt aus urlopen und gehen Sie vermeiden:
request = urllib2.Request('http://example.com')
response = opener.open(request,timeout=4)
response_result = response.read()
das funktioniert auch :)
Was ist der Vorteil der Verwendung von URLopen? – NumenorForLife
Um das Zeitlimit global festzulegen, können Sie 'socket.setdefaulttimeout()' – Mark