You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在yFinance包中禁用或忽略SSL证书验证

解决方案

方法1:全局禁用SSL验证(快速临时方案)

由于yfinance依赖requests库发起网络请求,可通过修改requests全局配置跳过SSL证书验证,快速解决公司防火墙自签名证书导致的验证失败问题:

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

# 关闭不安全请求的警告提示
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
# 全局设置跳过SSL证书验证
requests.Session.verify = False

import yfinance as yf
# 拉取SPY数据
df = yf.download('SPY', start='2000-01-01', end='2024-10-01')
print(df)

方法2:为yfinance单独配置Session(更安全的局部方案)

创建自定义requests.Session,仅让yfinance使用该跳过验证的Session,避免影响其他代码的网络请求安全性:

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import yfinance as yf

# 关闭警告提示
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

# 创建自定义Session并禁用SSL验证
custom_session = requests.Session()
custom_session.verify = False

# 将自定义Session传入yfinance的download方法
df = yf.download('SPY', start='2000-01-01', end='2024-10-01', session=custom_session)
print(df)

重要提示

  • 禁用SSL验证会降低网络请求的安全性,仅建议在可信的公司内网环境下使用。
  • 如果公司提供内部CA证书,优先选择将证书路径配置到custom_session.verify(例如custom_session.verify = "/path/to/company-ca-cert.crt"),而非完全禁用验证。

内容的提问来源于stack exchange,提问作者H.L.

火山引擎 最新活动