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

Python Requests访问证书异常站点遇[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]错误的解决求助

Python Requests访问证书异常站点遇[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]错误的解决求助

我现在碰到一个棘手的问题:需要从一个存在证书问题的URL获取数据,用curl -k(跳过证书验证)能正常拿到数据,但用Python的requests库即使加上verify=False参数,还是会抛出[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]错误,有没有大佬知道怎么解决这个问题?

我使用的环境是Python 3.10.12 + requests 2.32.3,以下是我用来测试的代码:

import os
import requests

# 直接用curl请求失败
teste = os.system("curl -o capabilities.xml 'https://geoserver.car.gov.br/geoserver/ows?service=WMS&version=1.3.0&request=GetCapabilities'")

# 加上-k跳过证书验证后,curl请求成功
teste = os.system("curl -k -o capabilities.xml 'https://geoserver.car.gov.br/geoserver/ows?service=WMS&version=1.3.0&request=GetCapabilities'")

# 尝试用Python Requests请求
url = "https://geoserver.car.gov.br/geoserver/ows"
params = {
    'service':'WMS',
    'version':'1.3.0',
    'request':'GetCapabilities'
}

# 直接请求,抛出证书错误
teste = requests.get(url, params)

# 加上verify=False还是失败
teste = requests.get(url, params, verify=False)

更新:
经过排查,发现这个站点仅支持TLS 1.2加密套件,看起来Python Requests默认不兼容这个配置,有没有办法让Python强制使用TLS 1.2来建立连接呢?

站点TLS配置信息

备注:内容来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 19:03:12