ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-10-19 09:02:48  阅读:199  来源: 互联网

标签:fiddler warnings python verify urllib3 SSL -- requests


简介
  本来最新的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)

在这里插入图片描述

标签:fiddler,warnings,python,verify,urllib3,SSL,--,requests
来源: https://blog.csdn.net/hyq413950612/article/details/120839138

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有