可以使用 requests 库的 Retry 类来设置重试。

首先需要导入 Retry 类:

from requests.adapters import Retry

然后创建一个 Retry 对象,设置最大重试次数和重试间隔时间:

retry = Retry(total=3, backoff_factor=0.3)

这里设置最大重试次数为 3 次,重试间隔时间为 0.3 秒。backoff_factor 参数指定重试间隔时间的增加因子,每次重试的间隔时间会增加 backoff_factor * (2 ** (重试次数-1)) 秒。

最后将 Retry 对象传给 requests.Session 对象的 adapter 属性:

import requests

s = requests.Session()
s.mount('http://', requests.adapters.HTTPAdapter(max_retries=retry))
s.mount('https://', requests.adapters.HTTPAdapter(max_retries=retry))

response = s.get('https://www.example.com')

这里将 Retry 对象传给 HTTPAdapter 的 max_retries 参数,然后再将 HTTPAdapter 对象传给 Session 对象的 adapter 属性。这样,每次请求失败时,requests 库会自动进行重试操作。

Python Requests 重试机制:如何设置请求重试

原文地址: https://www.cveoy.top/t/topic/lEbm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录