Почему я получаю ошибку тайм-аута от модуля Pythons requests?
Я использую requests.post(url, headers, timeout=10)
и иногда я получал ReadTimeout exception HTTPSConnectionPool(host='domain.com', port=443): Read timed out. (read timeout=10)
поскольку я уже установил тайм-аут как 10 секунд, почему я все еще получаю исключение ReadTimeout?
2 ответов
Per http://docs.python-requests.org/en/latest/user/quickstart/#timeouts, это ожидаемое поведение. Как упоминал royhowie, оберните его в блок try / except (например:
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
вы можете обернуть его как блок исключения, как это. Так как вы просили об этом только ReadTimeout
. В противном случае поймать их всех;
try:
#defined request goes here
except:
# Set up for a retry, or continue in a retry loop