Potrzebuję ustawić limit czasu na urllib2.request()
.Ustawianie limitu czasu na wywołanie urllib2.request()
Nie używam urllib2.urlopen()
, ponieważ używam parametru data
z request
. Jak mogę to ustawić?
Potrzebuję ustawić limit czasu na urllib2.request()
.Ustawianie limitu czasu na wywołanie urllib2.request()
Nie używam urllib2.urlopen()
, ponieważ używam parametru data
z request
. Jak mogę to ustawić?
Chociaż urlopen
bierze data
param dla POST
, można zadzwonić urlopen
na Request
obiekt jak ten,
import urllib2
request = urllib2.Request('http://www.example.com', data)
response = urllib2.urlopen(request, timeout=4)
content = response.read()
Jakim urządzeniem jest 'timeout'? –
@ MöbiusStripMall Seconds ([manual] (https://docs.python.org/2/library/urllib2.html)) – carla
Dlaczego nie skorzystać z niesamowitego requests? Zaoszczędzisz sobie dużo czasu.
Jeśli martwisz się wdrożeniem, po prostu skopiuj go do swojego projektu.
Np. wniosków:
>>> requests.post('http://github.com', data={your data here}, timeout=10)
nadal można uniknąć stosując urlopen i postępować tak:
request = urllib2.Request('http://example.com')
response = opener.open(request,timeout=4)
response_result = response.read()
to też działa :)
Jakie korzyści płyną z nieużywania urlopuen? – NumenorForLife
aby ustawić limit czasu na świecie, możesz użyć 'socket.setdefaulttimeout()' – Mark