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

如何绕过Python requests/urllib3的HTTP中间人攻击防护机制?

可行方案

可修改源码重新编译的最优方案

这种方案不会降低SSL安全等级,只会额外信任你指定的抓包工具证书:

  • 导出Fiddler/HTTP Debugger的根证书为PEM格式,保存为proxy_rootca.crt
  • 全局替换请求的verify参数为证书路径,示例代码:
import requests
# 单请求指定
resp = requests.get("你的API地址", verify="./proxy_rootca.crt")

# 全局生效不需要逐个改请求
session = requests.Session()
session.verify = "./proxy_rootca.crt"
resp = session.get("你的API地址")
  • 打包exe时可以将证书和exe放在同一目录分发,或者用PyInstaller的--add-data参数把证书打包进exe内部,运行时读取内部资源即可。

已编译为exe无法修改源码的方案

不需要改动程序本身就能解决报错:

  • 方案1:将抓包工具的根证书安装到当前操作系统的「受信任的根证书颁发机构」存储中,requests默认会读取系统信任的根证书列表,安装后直接运行exe即可正常抓包
  • 方案2:设置系统环境变量REQUESTS_CA_BUNDLE,值为你导出的PEM格式根证书的完整本地路径,requests启动时会优先读取该环境变量指定的证书作为信任根,不需要修改系统CA存储,用完删除环境变量即可恢复原状。

注意:以上操作仅可用于你持有合法使用权的自有程序和API接口,禁止用于非法篡改、未授权的网络请求拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:06:03