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

调用api.covid19api.com接口报SSL证书已过期错误该如何解决

问题原因

你遇到的SSLCertVerificationError报错核心原因是api.covid19api.com的站点SSL证书已过期,Python默认发起HTTPS请求时会强制校验服务端证书有效性,校验失败就会抛出该异常。

解决方案

方案1:临时关闭SSL校验(仅推荐测试场景使用,生产环境不建议)

在原有代码基础上新增SSL上下文配置,跳过证书校验,修改后代码如下:

import http.client
import json
import pandas as pd
import ssl

# 创建不校验SSL证书的上下文
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

conn = http.client.HTTPSConnection("api.covid19api.com", context=ctx)
payload = ''
headers = {}
conn.request("GET", "/countries", payload, headers)
res = conn.getresponse()
data = res.read().decode('UTF-8')
existingCountries = json.loads(data)
dfC=pd.DataFrame(existingCountries)
dfC.head()

方案2:使用requests库实现(写法更简洁)

如果使用requests库发起请求,只需添加verify=False参数即可跳过校验:

import requests
import pandas as pd

response = requests.get("https://api.covid19api.com/countries", verify=False)
existingCountries = response.json()
dfC=pd.DataFrame(existingCountries)
dfC.head()

注意:运行时可能会出现不安全请求的警告,不影响正常获取数据

方案3:生产环境合规解决方案

如果是生产环境不允许关闭证书校验,可选择以下两种方式:

  • 等待api.covid19api.com站点运营方更新有效SSL证书
  • 手动将该站点的证书导入到本地Python环境的信任证书列表中,完成后即可正常校验通过

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:06:03