Python接口自动化(四) https请求(SSLError解决办法)


电脑环境

python:3.7

requests:2.22.0

fiddler:v5.0.20

 

 

 一、SSL问题

1.在你不启用fiddler时,python代码直接发送https请求,不会有SSL问题(也就是说不想看到SSL问题,关掉fiddler就行)

 

 2.启动fiddler抓包,会出现SSLError这个错误:

requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (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

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

import requests
import warnings
#warnings.filterwarnings("ignore") #方式1
#requests.packages.urllib3.disable_warnings()#方式2
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)#方式3
r=requests.get("https://www.baidu.com",verify=False)
print(r.status_code)

  

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM