python SSLError CERTIFICATE_VERIFY_FAILED InsecureRequestWarning

使用requests请求https报这个错误

requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

是因为请求的URL使用的https证书没有经过权威机构认证。比如如下访问12306代码

import requests
resp=requests.get("https://kyfw.12306.cn/otn/leftTicket/init")
print(resp.status_code)

就会导致这个错误

解决如下

设置requests的verifyFalse

import requests

resp=requests.get("https://kyfw.12306.cn/otn/leftTicket/init",verify=False)
print(resp.status_code)

这样改了之后会有InsecureRequestWarning的警告,去掉的办法如下

import requests

#去掉警告InsecureRequestWarning
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

resp = requests.get("https://kyfw.12306.cn/otn/leftTicket/init", verify=False)
print(resp.status_code)

你可能感兴趣的:(python)