You need to enable JavaScript to run this app. Python requests 中与 curl --proxy-insecure 对等的代理SSL免校验配置
优惠活动
大模型
产品
解决方案
定价
更多

Python requests 中与 curl --proxy-insecure 对等的代理SSL免校验配置

场景问题说明
  • 现有代码中设置的verify=False仅作用于最终目标站点的TLS证书校验,等价于curl的-k参数,不会影响与HTTPS代理建立连接时的证书校验流程
  • requests 默认会对HTTPS代理节点执行完整的TLS证书校验,和curl默认行为一致
  • 运行原代码抛出的ValueError: check_hostname needs a SSL context with either CERT_OPTIONAL or CERT_REQUIRED,是早期版本requests在处理代理SSL连接时,全局配置与代理连接的上下文参数不匹配触发的校验冲突

requests 环境下的对等实现

要实现和curl --proxy-insecure 完全对等的“关闭代理自身SSL证书校验”能力,不需要切换第三方库,可以通过自定义HTTP适配器的方式,为代理连接单独配置关闭校验的SSL上下文,完全兼容现有requests接口:

import requests
from requests.adapters import HTTPAdapter
from urllib3.util.ssl_ import create_urllib3_context
import ssl

# 自定义适配器:针对HTTPS代理连接使用关闭校验的SSL上下文
class InsecureProxyAdapter(HTTPAdapter):
    def init_poolmanager(self, *args, **kwargs):
        # 创建urllib3兼容的SSL上下文
        proxy_ctx = create_urllib3_context()
        # 关闭主机名校验、关闭证书链校验,等效代理侧的--proxy-insecure
        proxy_ctx.check_hostname = False
        proxy_ctx.verify_mode = ssl.CERT_NONE
        kwargs["ssl_context"] = proxy_ctx
        return super().init_poolmanager(*args, **kwargs)

# 初始化请求会话
session = requests.Session()
# 为HTTPS请求挂载自定义适配器
session.mount("https://", InsecureProxyAdapter())
# 配置HTTPS代理地址
session.proxies = {
    "https": "https://login:password@eu-west-shield-01.quotaguard.com:9294"
}

# 发起请求,verify=False 仅关闭目标站点的证书校验(等效curl -k)
response = session.get("https://ip.quotaguard.com", verify=False)
print(response.text)
  • 上述实现的效果和curl命令curl -x "https://login:password@eu-west-shield-01.quotaguard.com:9294" -L "https://ip.quotaguard.com" --proxy-insecure -k完全一致
  • 自定义适配器的SSL上下文仅用于代理侧的TLS连接,不会覆盖请求中verify参数对目标站点的校验配置

简化实现的替代库推荐

如果不想编写自定义适配器代码,可以选择原生支持代理侧SSL校验配置的Python HTTP库:

  • httpx:作为requests风格的现代HTTP客户端,支持直接在会话配置中指定是否校验代理证书,不需要自定义适配器
  • aiohttp:异步HTTP客户端,在配置TCP连接池时,可以单独为代理连接指定关闭校验的SSL上下文

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 17:36:03