Utilisez le timeout
paramètre :
r = requests.post(url, data=payload, timeout=1.5)
Remarque :timeout
n'est pas une limite de temps pour le téléchargement complet de la réponse ; une exception est plutôt déclenchée si le serveur n'a pas émis de réponse pendant timeout
secondes (plus précisément, si aucun octet n'a été reçu sur le socket sous-jacent pendant timeout
secondes). Si aucun délai d'expiration n'est spécifié explicitement, les requêtes n'expirent pas.
Toutes les demandes prennent un argument de mot-clé timeout. 1
Le requests.post
est simplifier la transmission de ses arguments à requests.request
2
Lorsque l'application est en panne, il y a plus de probabilité d'un ConnectionError
qu'un Timeout
.
3
try:
requests.post(url, data=payload, timeout=5)
except requests.Timeout:
# back off and retry
pass
except requests.ConnectionError:
pass