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

Python Requests SSL验证CA_BUNDLE配置及服务端证书使用问题

解决方案

证书格式说明

ssl.get_server_certificate() 方法返回的就是 PEM编码的X509证书字符串,不需要额外转换格式,你拿到的cert变量本身就是符合要求的内容,后续存为.pem或者.crt后缀的文件都可以被requests正常识别。

具体操作步骤

  • 第一步:把获取到的证书内容写入本地文件
import ssl
import requests

# 替换为你的服务地址和端口
server = "your-server-domain.com"
port = 443

# 获取服务端证书
cert_content = ssl.get_server_certificate((server, port))

# 写入本地PEM格式证书文件
cert_save_path = "./api_server_cert.pem"
with open(cert_save_path, "w") as f:
    f.write(cert_content)
  • 第二步:在requests请求中传入证书路径即可启用验证
# 替换为你的实际API地址
resp = requests.get("https://your-api-url.com/xxx", verify=cert_save_path)

CA_BUNDLE参数补充说明

CA_BUNDLE本质是一个包含多个受信任根证书、中间证书的PEM格式集合文件。如果你调用的是自签名证书的接口,直接传单个服务端证书的文件路径就满足验证要求;如果是公网可信CA签发的证书,也可以直接把verify参数设为True,requests会默认调用系统内置的CA根证书库完成校验。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:04