来个大写的问题,SSL是什么,为什么在发起HTTPS请求的时候需要证书验证?
TSL.png
>>> import requests>>> requests.get('https://github.com')
requests.exceptions.SSLError: HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)'),))
image.png
verify=False
即可。
>>> requests.get('https://github.com', verify=False)
D:\Program Files\Python36\lib\site-packages\urllib3\connectionpool.py:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate
verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
<Response [200]>
可以看到,将verify设为False后,可以跳过ssl验证,但存在一个告警信息InsecureRequestWarning
。要忽略这个告警信息可以怎么做呢?
import requests
from requests.packages import urllib3
# 关闭告警信息
urllib3.disable_warnings()
url = 'https://github.com'r = requests.get(url, verify=False)
print(r.status_code)
image.png
verify=False
作者: 乐大爷 博客:https://www.jianshu.com/u/39cef8a56bf9 声明:本文已获作者授权转载,著作权归作者所有。