请求拒绝证书

时间:2017-11-01 19:29:52

标签: python python-requests ssl-certificate

我可以使用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)

这里出了什么问题?我可以禁用证书验证,但更愿意了解潜在的问题。

1 个答案:

答案 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