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添加如下代码即可解决:

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)

为了方便大家在移动端也能看到我分享的博文,现已注册个人微信公众号,扫描左下方二维码即可,欢迎大家关注,有时间会及时分享相关技术博文。
为了方便大家互动讨论相关技术问题,现已组建专门的微信群,由于微信群满100,请您扫描右下方宏哥个人微信二维码拉你进群(请务必备注:已关注公众号进群),欢迎大家加入这个大家庭,我们一起畅游知识的海洋。
感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的“推荐”将是我最大的写作动力!另外您也可以选择【关注我】,可以很方便找到我!
本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!

相关文章

5分钟,快速入门 Python JWT 接口认证

来源:AirPython作者:星安果1. 前言大家好,我是安果!为了反爬或限流节流,后端编写接口时,大部分 API 都会进行权限认证,只有认证通过,即:数据正常及未过期才会返回数据,否则直接报错本篇文...

Python软件包存储库PyPI上线“数字认证”功能:一键验明真身

IT之家 11 月 16 日消息,Python 软件包存储库 PyPI 现已上线数字认证(Digital Attestations)功能,这项功能允许软件包维护者在发布包时附加经过身份验证的数字签章,...

Python:教你使用正则表达式 (RegEx) 验证电子邮件地址

正则表达式,或简称RegEx,是可用于文本搜索和替换操作、验证、字符串拆分等的模式表达式。这些模式由字符、数字和特殊字符组成,其形式使模式与我们正在搜索的某些文本段相匹配。正则表达式广泛用于模式匹配,...

(值得收藏)Python爬虫过程中验证码识别的三种解决方案

前言在Python爬虫过程中,有些网站需要验证码通过后方可进入网页,目的很简单,就是区分是人阅读访问还是机器爬虫。验证码问题看似简单,想做到准确率很高,也是一件不容易的事情。为了更好学习爬虫,后续推文...

python机器学习:机器学习模型评价-交叉验证与留一验证

一篇文章写清楚一个问题,关注我,自学python!解决一个机器学习问题都是从问题建模开始,我们首先要收集问题资料,深入理解问题后将其抽象成机器可预测的问题。那么我们的学习模型表现究竟怎么样,该如何进行...

7个知识点快速掌握Python网页表单验证的利器

在构建功能完备且用户体验良好的Web应用时,表单验证是一个不可或缺的部分。本文将深入探讨如何使用 Flask 框架集成的 flask-wtf 库实现网页表单验证,并提供详细的代码示例以助您快速掌握这一...