PySe-016-Requests 访问 HTTPS 网站报错解决方法:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
在使用 requests 访问htts请求:https:www.baidu.com 时,报错信息如下:
请求代码如下所示:
# encoding:utf-8 import requests def baidu(): r = requests.get('https://www.baidu.com') print(r.request.headers) print('\n\n') print(r.headers) print('\n\n') print(r.text) if __name__ == '__main__': baidu()
SSL证书认证
requests是支持SSL证书认证的,同各个浏览器一样,requests的SSL认证默认是开启的。requests在请求时,若SSL证书验证失败,则会抛出SSLError。
可在requests请求时,通过 verify=False 参数关闭SSL认证,修改后的代码如下所示:
# encoding:utf-8 import requests def baidu(): r = requests.get('https://www.baidu.com', verify=False) print(r.request.headers) print('\n\n') print(r.headers) print('\n\n') print(r.text) if __name__ == '__main__': baidu()
修改后,再次请求,即可成功请求。如下所示。
欢迎 【 留言 || 关注 || 打赏 】 。您的每一份心意都是对我的鼓励和支持!非常感谢!欢迎互加,相互交流学习!
作者:范丰平,本文链接:https://www.cnblogs.com/fengpingfan/p/14462776.html
Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan