[Python] 解決 python 下載資料時憑證錯誤問題
狀況
今天在 Python 寫 AI 用到 langchain 模組, 使用前需要下載文字轉向量 model, 結果遇到 certificate verify ailed: self signed certificate in certificate chain (_ssl.c:997) 錯誤, 這是因為公司有網路設備在做 SSL 憑證置換的關係卡到, 解決方法除了不檢查憑證,也可以把公司的憑證匯入 certifi, 下載時就會信任公司的憑證. 這樣做如果連到不安全的網址仍然檢查, 程式會停止存取, 所以我認為是相對安全的. 後來測試以前用 requests 或 urllib module 的錯誤也不會卡住,感覺更方便.
做法如下
- 首先確認 certifi 安裝的路徑
- 先打開預存取的網站,這邊用 yahoo 網站為例,
然後選詳細資料的最上面階層的憑證,把憑證給匯出
- 下面第一圖是馬賽克後的憑證內容,
將憑證的內容貼到 cacert.pem 內
- python 程式就可以正常下載檔案