python requests 重试
时间: 2023-10-17 17:33:41 浏览: 150
python requests用法
如果在使用 Python 的 requests 库发送网络请求时,出现了连接超时、网络错误等问题,可以使用重试的方法来保证请求的成功率。
以下代码是使用 requests 库进行重试的示例:
```python
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
retry_strategy = Retry(
total=3, # 总共重试3次
status_forcelist=[429, 500, 502, 503, 504], # 遇到这些状态码则重试
backoff_factor=1 # 重试时休眠时间的指数增长因子
)
adapter = HTTPAdapter(max_retries=retry_strategy)
http = requests.Session()
http.mount("https://", adapter)
http.mount("http://", adapter)
response = http.get("https://www.example.com")
```
在上面的代码中,我们创建了一个 `Retry` 对象,并指定了重试的总次数、需要重试的状态码列表和重试时休眠时间的指数增长因子。然后,我们创建了一个 `HTTPAdapter` 对象,并将 `Retry` 对象传入其中,最后创建了一个 `requests.Session` 对象,并将 `HTTPAdapter` 对象传入其中,这样就可以使用这个 `Session` 对象发送网络请求了。
阅读全文