Python接口自动化--SSL 3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python接口自动化--SSL 3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1814字,纯文字阅读大概需要3分钟。
内容图文
官方文档参考地址:
https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
针对SSL Warnings,urllib3根据不同级别的证书校验有不同级别的警告,针对这些不同的场景有以下几种不同的解决办法
1.不安全的请求警告
当在没有启用证书验证的情况下对HTTPS URL进行请求时,就会发生这种情况。解决办法如下:
参考官方地址:https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl
urllib3没有对HTPPS请求做校验,为了启用证书验证,需要安装一组root证书,最简单也最现实的实现方法是用certifi包,包含Mozilla的root证书包
安装方式:1)、pip install certifi 或者 2)、pip install urllib3[secure]
安装好后,当发送请求时,可以通过创建PoolManager进行证书验证
# _*_ encoding:utf-8 _*_ import requests import urllib3 import certifi http = urllib3.PoolManager( cert_reqs = ‘CERT_REQUIRED‘, ca_certs = certifi.where() ) #无异常 http.request(‘GET‘,‘https://www.baidu.com/‘) #有异常 http.request(‘GET‘,‘https://expired.badssl.com‘) #urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=‘expired.badssl.com‘, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, u‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)‘),))#报错如下 r = requests.get(‘https://www.baidu.com/‘) #requests.exceptions.SSLError: HTTPSConnectionPool(host=‘www.baidu.com‘, port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1,
u‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)‘),))
2、不安全的平台警告
这种情况发生在具有过时ssl模块的Python 2平台上。这些旧的ssl模块可能会导致一些不安全的请求,从而在它们失败的地方获得成功,并在它们应该成功的地方请求失败。遵循pyOpenSSL指南来解决这个警告。
官方文档参考地址:https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2
pyOpenSSL官方地址:https://pyopenssl.readthedocs.io/en/latest/
这发生在Python 2版本上,比2.7.9大。这些老版本缺少SNI的支持。这可能导致服务器显示客户认为无效的证书。遵循pyOpenSSL指南来解决这个警告。
注:如果在确认该HTTPS请求是安全的,可以访问时,可以通过以下方法取消警告
import urllib3 urllib3.disable_warnings()
#同时可以通过以下方式抓取日志
logging.captureWarnings(True)
原文:https://www.cnblogs.com/cindy-cindy/p/8321426.html
内容总结
以上是互联网集市为您收集整理的Python接口自动化--SSL 3全部内容,希望文章能够帮你解决Python接口自动化--SSL 3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。