requests我们正在使用一个内部用于访问在线服务的Python 包。该服务位于https://dsbox02.isi.edu:8888/ 。如果您使用浏览器点击该链接,您将看到该页面打开,并且它具有有效的证书。但是,以下 Python 代码会失败:import requests
requests.get('https://dsbox02.isi.edu:8888')requests.exceptions.SSLError: HTTPSConnectionPool(host='dsbox02.isi.edu', port=8888): url 超出最大重试次数: / (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败: 无法获取本地颁发者证书 (_ssl.c:1122)')))这种情况发生在 Windows 10 和 Python 3.7、Ubuntu 18.04 和 Python 3.6 以及python:latest带有 Python 3.9 的 docker 映像上。在装有 Python 3.8 的 Mac 上它确实可以工作。
1 回答
杨魅力
TA贡献1811条经验 获得超6个赞
有些 ssl 证书并非在所有 Web 浏览器中都受信任。您可能需要安装中间/链证书以将其链接到受信任的根证书。
最简单的方法是使用 ssl 检查器检查您的网站。
添加回答
举报
0/150
提交
取消