1. 临时禁用SSL验证(不推荐生产环境使用)
在开发或测试环境中,可以临时禁用SSL验证以绕过此错误。但需注意这会降低安全性,可能暴露于中间人攻击风险中。
|
1 2 3 4 5 6 7 |
import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # 禁用警告 url = 'https://v2.alapi.cn/api/zaobao' params = {'token': '57wYlmH4OS8PArNx', 'format': 'json'} response = requests.get(url, params=params, verify=False) # 关键参数:verify=False |
2. 手动信任自签名证书(推荐)
如果服务器证书是自签名的,可以将证书下载并手动添加到信任链中:
- 步骤:
从浏览器导出证书(如Chrome访问https://v2.alapi.cn,点击锁图标→导出证书为PEM格式)。
在代码中指定证书路径:
|
1 |
response = requests.get(url, params=params, verify='/path/to/certificate.pem') |
或全局设置证书路径:
|
1 2 |
import os os.environ['REQUESTS_CA_BUNDLE'] = '/path/to/certificate.pem' |
3. 更新证书库
Python的requests库依赖certifi包管理CA证书。更新证书库可能解决部分问题:
|
1 |
pip install --upgrade certifi |
然后检查默认证书路径:
|
1 2 |
import certifi print(certifi.where()) # 输出证书路径 |