我可以使用https://siscourses.ethz.ch/python_dbiol/data/logistic_data.txt
或Google Chrome浏览器访问curl
,而不会对证书提出任何投诉。
如果我跑
import requests
request.get("https://siscourses.ethz.ch/python_dbiol/data/logistic_data.txt")
我得到了
ssl.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证 失败了(_ssl.c:749)
这里出了什么问题?我可以禁用证书验证,但更愿意了解潜在的问题。
答案 0 :(得分:3)
“siscourses.ethz.ch”使用来自Let's Encrypt的SSL证书,但未配置为发送完整的证书链,intermediates certificate错过了。它适用于chrome(在您的计算机上),因为您使用Let's Encrypt成功访问了其他网站,chrome缓存了缺少的中间体。
您可以使用ssllabs或:
进行检查openssl s_client -showcerts -connect siscourses.ethz.ch:443