首页 > 解决方案 > 如何为每次重试添加默认超时?

问题描述

https://github.com/psf/requests/issues/1393

看了上面的帖子,我有点困惑。

import requests
from requests.adapters import HTTPAdapter

s = requests.Session()
s.mount('https://', HTTPAdapter(max_retries=3))
data = s.get(MY_URL, timeout=10)

我的理解是10秒内,如果没有返回值,就会超时,不会重试。我想要的是它重试 3 次,每次尝试的超时时间为 10 秒。我怎样才能做到这一点?

标签: python-requests

解决方案


我意识到我的理解是错误的。如果重试次数为 3,超时时间为 10,则 3 次重试中的每一次尝试 10 秒。

https://www.peterbe.com/plog/best-practice-with-retries-with-requests "Works In Conjunction With timeout" 提供了一个很好的例子,我之前只是不明白。


推荐阅读