【python】SSL: CERTIFICATE_VERIFY_FAILED

  • Post author:
  • Post category:python



在使用python的rquests库, 通过https协议get方法访问了某个web服务接口, 结果提示:

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:765)


大致原因是服务端用了自签名证书或者是客户端无法识别该证书有效性, 以至于报了认证失败的异常。


如果确定是可信的域名,最简单的方法是在get方法中不进行证书验证, 如下所示:

requests.get("https://you_hostname/...", verify=False)


不过这个时候一般会报Warning, 提示该请求不安全:

/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:838: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/security.html
  InsecureRequestWarning)


因此最好的方法还是, 下载相应的

*.crt 或 *pem 文件, 并进行适当的配置后再发起请求。



版权声明:本文为moxiaomomo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。