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

Python Requests模块使用时出现SSL或代理错误问题求解

解决方案

核心问题定位

你遇到的报错本质是两个配置错误:

  1. 代理地址格式配置错误
  2. 未信任公司代理的中间人SSL根证书

步骤1:修正代理配置

绝大多数企业级HTTPS代理的监听端口为HTTP协议,你之前将HTTPS代理地址前缀写为https属于典型错误,会直接导致SSL握手失败,修正后的配置如下:

# HTTPS代理的地址前缀必须为http,而非https
https_proxy = "http://server.mycompany.net:9480"
http_proxy = "http://server.mycompany.net:9480"

proxyDict = {
    "https": https_proxy,
    "http": http_proxy
}

步骤2:导出并配置代理根证书

公司代理会对所有HTTPS请求做审计,自动替换请求的SSL证书,因此需要手动信任代理的根证书:

  • 用Chrome/Edge打开目标接口域名https://mycompany.com
  • 点击地址栏左侧锁形图标 → 「证书」→ 「证书路径」→ 选中最顶层根证书 → 「查看证书」→ 「详细信息」→ 「复制到文件」
  • 导出格式选择Base64编码的X.509(.CER),保存为proxy_root.cer放在项目根目录

步骤3:编写正确的请求代码

无需传入自签名客户端证书,将verify参数指向导出的根证书路径即可:

api_url = constants.ERV_API_URL_ME
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "LONG_SESSION_ID_HERE"
}
response = requests.get(
    api_url,
    headers=headers,
    verify="./proxy_root.cer",
    proxies=proxyDict
)
print(response.json())

临时测试方案(不建议生产环境使用)

如果暂时不需要校验证书,可以关闭SSL警告后设置verify=False:

import urllib3
# 关闭不安全SSL请求的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

response = requests.get(
    api_url,
    headers=headers,
    verify=False,
    proxies=proxyDict
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:18:04