python – HTTP requests.post timeout
python – HTTP requests.post timeout
Use the timeout
parameter:
r = requests.post(url, data=payload, timeout=1.5)
Note:
timeout
is not a time limit on the entire response download;
rather, an exception is raised if the server has not issued a response
fortimeout
seconds (more precisely, if no bytes have been received on
the underlying socket fortimeout
seconds). If no timeout is specified
explicitly, requests do not time out.
All requests take a timeout keyword argument. 1
The requests.post
is simplify forwarding its arguments to requests.request
2
When the app is down, there is more likelihood of a ConnectionError
than a Timeout
. 3
try:
requests.post(url, data=payload, timeout=5)
except requests.Timeout:
# back off and retry
pass
except requests.ConnectionError:
pass