使用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的verify为False
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)