简介
本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
小编环境:
python:3.7
requests:2.21.0
fiddler:v5.0.20
python & requests:
Fiddler:
一、SSL问题
1、在你不启用fiddler时,python代码直接发送https请求,不会有SSL问题(也就是说不想看到SSL问题,关掉fiddler就行)
2、启动fiddler抓包,会出现这个错误:
requests.exceptions.SSLError: HTTPSConnectionPool(host='passport.cnblogs.com', port=443): Max retries exceeded with url: /user/signin (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
二、verify参数设置
1、Requests的请求默认verify=True
2、如果你将 verify设置为 False,Requests 也能忽略对 SSL 证书的验证
3、但是依然会出现两行Warning,可以不用管
三、忽略Warning
有些小伙伴有强迫症看到红色的心里就发慌,这里加两行代码可以忽略掉警告,眼不见为净!
Python2添加如下代码即可解决:
1 from requests.packages.urllib3.exceptions import InsecureRequestWarning 2 # 禁用安全请求警告 3 requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
Python3添加如下三种任意一种代码即可解决:
1 1、requests.packages.urllib3.disable_warnings() 2 3 2、import warnings 4 warnings.filterwarnings("ignore") 5 6 3、import urllib3 7 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
总结:
现阶段很多人都在说软件测试太内卷了,工作太难找了,竞争太激烈了。那么如何在这样的现状下使得自己更具有竞争力呢?笔者认为大家需要迅速学习软件测试的硬技能,提升自己的业务能力,早日摆脱初中级测试的Title,虽然测试人员众多,但是高级的软件测试人员还是很稀缺,有很多人挂着高级测试的头衔却还在干着初中级测试的活。在掌握这些硬技能的同时,软技能的培养同样重要,沟通能力、自主学习能力越来越被企业看重。
如果不想被这个时代淘汰,就要做好持续学习的准备。下方给大家准备了全套的软件测试,自动化测试全套教程。
【需要的可以点击下方官方推广小卡片扫码备注000免费领取】