【python】SSL: CERTIFICATE_VERIFY_FAILED

来源:互联网 发布:数据在计算机内部传送 编辑:程序博客网 时间:2024/05/01 13:49

在使用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 文件, 并进行适当的配置后再发起请求。


1 0
原创粉丝点击