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)

  

  

 

posted on 2020-07-26 15:15  星空6  阅读(5419)  评论(1编辑  收藏  举报

导航