python接口自动化9-https请求(SSL)

前言

本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

小编环境:

python:2.7.12

requests:2.13.0

fiddler:v4.6.2.0

一、SSL问题

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

2.启动fiddler抓包,会出现这个错误:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

二、verify参数设置

1.Requests的请求默认verify=True

2.如果你将 verify设置为 False,Requests 也能忽略对 SSL 证书的验证

3.但是依然会出现两行Warning,可以不用管

三、忽略Warning

1.有些小伙伴有强迫症看到红色的心里就发慌,这里加两行代码可以忽略掉警告,眼不见为净!

2.参考代码:

 1 # coding:utf-8
 2 import requests
 3 # 禁用安全请求警告
 4 from requests.packages.urllib3.exceptions import InsecureRequestWarning
 5 requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
 6 
 7 url = "https://passport.cnblogs.com/user/signin"
 8 headers = {
 9      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
10           }
11 r = requests.get(url, headers=headers, verify=False)
12 print(r.status_code)
13 
14 四、python3的童鞋
15 
16 1.python3报错的话,加上这两行代码就行了
17 
18 #导入urllib3包
19 import urllib3
20 #使用这个方法就OK了
21 urllib3.disable_warnings()

前言

本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

小编环境:

python:2.7.12

requests:2.13.0

fiddler:v4.6.2.0

一、SSL问题

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

2.启动fiddler抓包,会出现这个错误:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

二、verify参数设置

1.Requests的请求默认verify=True

2.如果你将 verify设置为 False,Requests 也能忽略对 SSL 证书的验证

3.但是依然会出现两行Warning,可以不用管

三、忽略Warning

1.有些小伙伴有强迫症看到红色的心里就发慌,这里加两行代码可以忽略掉警告,眼不见为净!

2.参考代码:

 1 # coding:utf-8
 2 import requests
 3 # 禁用安全请求警告
 4 from requests.packages.urllib3.exceptions import InsecureRequestWarning
 5 requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
 6 
 7 url = "https://passport.cnblogs.com/user/signin"
 8 headers = {
 9      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
10           }
11 r = requests.get(url, headers=headers, verify=False)
12 print(r.status_code)
13 
14 四、python3的童鞋
15 
16 1.python3报错的话,加上这两行代码就行了
17 
18 #导入urllib3包
19 import urllib3
20 #使用这个方法就OK了
21 urllib3.disable_warnings()

猜你喜欢

转载自www.cnblogs.com/jason89/p/9027709.html