J'utilise requests.post(url, headers, timeout=10)
et parfois j'ai reçu ReadTimeout exception HTTPSConnectionPool(Host='domain.com', port=443): Read timed out. (read timeout=10)
Étant donné que j'ai déjà défini le délai d'expiration à 10 secondes, pourquoi reçois-je toujours une exception ReadTimeout?
Per http://docs.python-requests.org/en/latest/user/quickstart/#timeouts , c'est le comportement attendu. Comme Royhowie l'a mentionné, enveloppez-le dans un bloc try/except (par exemple:
try:
requests.post(url, headers, timeout=10)
except requests.exceptions.Timeout:
print "Timeout occurred"
)
try:
#defined request goes here
except requests.exceptions.ReadTimeout:
# Set up for a retry, or continue in a retry loop
Vous pouvez l'encapsuler comme un bloc d'exception comme celui-ci. Puisque vous ne l'avez demandé que ReadTimeout
. Sinon, attrapez-les tous;
try:
#defined request goes here
except:
# Set up for a retry, or continue in a retry loop