首页
学习
活动
专区
圈层
工具
发布
42 篇文章
1
python接口自动化(一)--什么是接口、接口优势、类型(详解)
2
python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)
3
python接口自动化(三)--如何设计接口测试用例(详解)
4
python接口自动化(四)--接口测试工具介绍(详解)
5
python接口自动化(五)--接口测试用例和接口测试报告模板(详解)
6
python接口自动化(六)--发送get请求接口(详解)
7
python接口自动化(七)--状态码详解对照表(详解)
8
python接口自动化(八)--发送post请求的接口(详解)
9
python接口自动化(九)--python中字典和json的区别(详解)
10
python接口自动化(十)--post请求四种传送正文方式(详解)
11
python接口自动化(十一)--发送post【data】(详解)
12
python接口自动化(十二)--https请求(SSL)(详解)
13
python接口自动化(十三)--cookie绕过验证码登录(详解)
14
python接口自动化(十四)--session关联接口(详解)
15
python接口自动化(十五)--参数关联接口(详解)
16
python接口自动化(十六)--参数关联接口后传(详解)
17
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
18
python接口自动化(十八)--重定向(Location)(详解)
19
python接口自动化(十九)--Json 数据处理---实战(详解)
20
python接口自动化(二十)--token登录(详解)
21
python接口自动化(二十一)--unittest简介(详解)
22
python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)
23
python接口自动化(二十三)--unittest断言——上(详解)
24
python接口自动化(二十四)--unittest断言——中(详解)
25
python接口自动化(二十五)--unittest断言——下(详解)
26
python接口自动化(二十六)--批量执行用例 discover(详解)
27
python接口自动化(二十七)--html 测试报告——上(详解)
28
python接口自动化(二十八)--html测试 报告——下(详解)
29
python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)
30
python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)
31
python接口自动化(三十一)--html测试报告通过邮件发出去——下(详解)
32
python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
33
python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下(详解)
34
python接口自动化(三十四)-封装与调用--函数和参数化(详解)
35
python接口自动化(三十五)-封装与调用--流程类接口关联(详解)
36
python接口自动化(三十六)-封装与调用--流程类接口关联续集(详解)
37
python接口自动化(三十七)-封装与调用--读取excel 数据(详解)
38
python接口自动化(三十八)-python操作mysql数据库(详解)
39
python接口自动化(三十九)- logger 日志 - 上(超详解)
40
python接口自动化(四十)- logger 日志 - 下(超详解)
41
python接口自动化(四十一)- 发xml格式参数的post请求(超详解)
42
python接口自动化(四十二)- 项目结构设计之大结局(超详解)

python接口自动化(十二)--https请求(SSL)(详解)

简介

  本来最新的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添加如下代码即可解决:

代码语言:javascript
复制
1 from requests.packages.urllib3.exceptions import InsecureRequestWarning
2 # 禁用安全请求警告
3 requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

Python3添加如下三种任意一种代码即可解决:

代码语言:javascript
复制
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)
下一篇
举报
领券