You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Requests中为会话传递重试策略?

解决requests中Session绑定重试Adapter的问题

你直接把adapter传入Session()构造函数的方式是错误的,requests.Session.__init__()不接受额外位置参数,正确做法是通过session.mount()方法将Adapter挂载到Session实例上。

完整正确代码示例

# 导入所需模块
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

# 创建重试策略
retry_strategy = Retry(
    total=10,
    backoff_factor=5,
    status_forcelist=[429, 500, 501, 502, 503],
    allowed_methods=["GET"]
)
# 生成带重试策略的Adapter
adapter = HTTPAdapter(max_retries=retry_strategy)

# 初始化Session实例
session = requests.Session()

# 将Adapter挂载到Session,适配http/https协议
session.mount("http://", adapter)
session.mount("https://", adapter)

# 后续通过session发送请求会自动应用重试规则
response = session.get("https://example.com")

关键说明

  • mount()方法第一个参数是URL前缀,指定哪些请求会使用该Adapter,挂载http://和https://可覆盖绝大多数场景。
  • 挂载完成后,该Session发送的所有对应协议请求,都会严格遵循你定义的重试规则。

内容的提问来源于stack exchange,提问作者user20271091

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 08:50:38