Python中如何取消SSL证书验证
前言
使用Python发送HTTPS请求时,会验证SSL证书,以确保请求的安全性。
但各位虫友
可能并不在意这安全性
【毕竟….拿到手的才是最真实的】,所以这篇文章就简单讲下 如何禁用取消SSL证书验证
Python取消SSL证书验证,这里主要分为两种情况
- 引入的是
import request
; - 引入的是
import urllib.request
;
request
设置Verify
参数来跳过验证;True(默认) | False
1 | import requests |
urllib.request
Python 升级到 2.7.9
后,Python就引入了一个新特性,用urllib
打开HTTPS
的链接时,会检验一次SSL证书
。
如果不做处理的话,可能会抛出 urllib.URLError
异常
系统提示出现的报错
最近在学习web相关的库,编写demo运行后会出现ssl:certificate_verify_failed这个问题,错误日志如下:
1 | ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056) |
或1
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>
全局取消证书的验证
全局取消证书的验证
- 优点:简易方便,不再出现
证书验证异常
- 缺点:可能项目整体会出现
安全性
的相关问题
1 | import ssl |
局部取消证书的验证
局部取消证书的验证
- 优点:不再出现
证书验证异常
,相对于全局禁用
安全性更高 - 缺点:步骤繁琐
使用ssl创建未验证的上下文,在url中传入上下文参数
1 | import ssl |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 学弟不想努力了!
评论