eu uso requests.post(url, headers, timeout=10)
e às vezes eu recebi um ReadTimeout exception HTTPSConnectionPool(host="domain.com", port=443): Read timed out. (read timeout=10)
Como já defini o tempo limite como 10 segundos, por que ainda estou recebendo uma exceção ReadTimeout?
Respostas:
21 para resposta № 1Por http://docs.python-requests.org/en/latest/user/quickstart/#timeouts, esse é o comportamento esperado. Como royhowie mencionado, envolvê-lo em um try / exceto bloco (por exemplo.:
try:
requests.post(url, headers, timeout=10)
except requests.exceptions.Timeout:
print "Timeout occurred"
)
3 para resposta № 2
try:
#defined request goes here
except requests.exceptions.ReadTimeout:
# Set up for a retry, or continue in a retry loop
Você pode envolvê-lo como um bloco de exceção como este. Desde que você pediu isso apenas ReadTimeout
. Caso contrário, pegue todos eles;
try:
#defined request goes here
except:
# Set up for a retry, or continue in a retry loop