SuperAPI AI 工具集

requests

通用与其它

查看项目

更新于 10-16 06:47

技能介绍

用途:该技能用于指导使用 Python Requests 库发起 HTTP 请求时的最佳实践,覆盖会话、认证、错误处理、重试与文件上传等场景。

主要能力与用法: 会话方面,建议使用 requests.Session() 实现连接池复用,并在多次请求间保持请求头与 Cookie;可通过 session.headers 配置默认认证令牌与 User-Agent,通过 session.mount() 配合 HTTPAdapter 挂载重试逻辑。 错误处理方面,应始终调用 response.raise_for_status() 将 HTTP 错误转为异常,并始终设置 timeout=(connect_timeout, read_timeout),避免无限等待;需显式处理 requests.ConnectionError、requests.Timeout 和 requests.HTTPError。 重试方面,使用 urllib3.util.Retry 配合 HTTPAdapter 实现带退避的自动重试,并针对 429、500、502、503、504 等瞬时错误配置基于状态码的重试。 安全方面,生产环境不得关闭 SSL 校验(verify=False);凭据应通过环境变量传入而非硬编码;HTTP 认证应使用 auth= 参数而非手动设置请求头。

限制与陷阱:超时默认值为 None(无限等待),容易遗漏;高吞吐场景不应使用 requests.get(),而应使用会话;使用 stream=True 的流式请求需关闭响应以释放连接。

适用场景:需要编写可靠 HTTP 客户端代码、处理认证、重试与文件上传的 Python 项目。资料未提供具体安装命令、版本要求或平台限制。