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

调用私有HTTPS API时Python Requests忽略SSL报错问题求助

解决Python Requests调用私有HTTPS API的SSL连接问题

问题分析

你遇到的ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))错误,核心原因是SSL协议版本不兼容——目标API依赖旧版SSL/TLS协议(如TLS1.0、TLS1.1甚至SSL3),而Python Requests默认配置不支持这些旧版本;Windows环境下Python的SSL库路径异常也可能触发该报错。

已知PowerShell通过强制启用多版本SSL/TLS可正常访问,wget也能忽略证书验证成功请求,说明问题本质是Requests的SSL协议支持范围与目标API不匹配。

解决方案

方法1:强制指定兼容的SSL协议版本

自定义HTTP适配器,让Requests使用和PowerShell一致的SSL/TLS协议范围,覆盖默认配置:

import requests
from requests.adapters import HTTPAdapter
from urllib3.poolmanager import PoolManager
import ssl
from urllib3.exceptions import InsecureRequestWarning

# 关闭不安全请求警告(可选,避免verify=False触发的提示)
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

class MultiSSLAdapter(HTTPAdapter):
    def init_poolmanager(self, connections, maxsize, block=False):
        # 启用OpenSSL支持的所有TLS版本,和PowerShell配置对齐
        self.poolmanager = PoolManager(
            num_pools=connections,
            maxsize=maxsize,
            block=block,
            ssl_version=ssl.PROTOCOL_TLS
        )

# 初始化会话并挂载适配器
session = requests.Session()
session.mount("https://", MultiSSLAdapter())

# 发起请求
url = "https://10.17.64.102:8085/?StationList"
response = session.get(url, verify=False)

# 输出返回结果
print(response.text)

如果ssl.PROTOCOL_TLS无效,可直接指定目标API支持的具体版本:

  • ssl.PROTOCOL_TLSv1(对应TLS1.0)
  • ssl.PROTOCOL_TLSv1_1(对应TLS1.1)
  • ssl.PROTOCOL_TLSv1_2(对应TLS1.2)

方法2:修复Windows环境SSL库路径问题

若上述方法无效,可能是Python安装时缺失SSL组件或系统找不到SSL动态库:

  • 重新安装Python,确保勾选Add Python to PATH选项;
  • 检查系统PATH环境变量是否包含Python安装目录下的DLLs文件夹(如C:\Users\mdr\AppData\Local\Programs\Python\Python310\DLLs),该目录包含libssl-1_1-x64.dll等关键文件;
  • 仍有问题可从OpenSSL官网下载对应版本库文件,放入Python的DLLs目录或系统System32目录。

辅助排查:验证curl协议兼容性

先通过curl指定协议版本测试,确认目标API支持的SSL版本:

curl --insecure --tlsv1.2 https://10.17.64.102:8085/?StationList

若该命令能正常返回结果,说明目标API支持TLS1.2,此时在Python代码中指定ssl.PROTOCOL_TLSv1_2即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:05:21