SSL 證書
Requests 可以爲 HTTPS 請求驗證 SSL 證書,就像 web 瀏覽器一樣。
證書驗證失敗
如果證書驗證失敗,Requests 會拋出 SSLError:
解決證書驗證問題
上傳CA證書文件
requests.get(‘https://github.com’, verify=’/path/to/certfile’)
跳過證書驗證(關鍵字:verify)
默認情況下, verify 是設置爲 True 的。選項 verify 僅應用於主機證書。
- 如果我們想跳過 證書驗證,把 verify 設置爲 False 就可以正常請求了
import requests
r = requests.get("https://xxx.com", verify = False)
CA證書
-
Requests 默認附帶了一套它信任的根證書,來自於 Mozilla trust store。然而它們在每次 Requests 更新時纔會更新。這意味着如果你固定使用某一版本的 Requests,你的證書有可能已經 太舊了。
-
從 Requests 2.4.0 版之後,如果系統中裝了 certifi 包,Requests 會試圖使用它裏邊的 證書。這樣用戶就可以在不修改代碼的情況下更新他們的可信任證書。