作者gene50814 (genechen)
看板Python
標題[問題] requests的ssl驗證問題
時間Mon Feb 20 11:43:01 2023
各位大大好
小弟在公司有一些程式需求要用requests做資料爬取,但是都會遇到 [SSL: CERTIFICATE
_VERIFY_FAILED]
certificate verify failed:
self signed certificate in certificate chain
這樣的錯誤。
目前都是用verify=False去避免驗證,但這也不是長久之道,而且少一層驗證也可能有資
安問題,因此想要根本性的去解決。
稍微研究之後大概的思路就是去加入網頁的憑證到現有的憑證信任清單。
嘗試作法如下:
1.certifi.where()找到信任憑證清單
2.edge瀏覽器打開網頁,點網址旁邊的鎖頭打開憑證檢視器匯出憑證
3.把憑證append到信任清單中。
但這樣做之後還是沒有修正ssl驗證的錯誤,想請教各位大大應該怎麼做才能解決。
感激不盡!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.98.219 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1676864583.A.5DD.html
→ lycantrope: request verify設定成憑證路徑吧 02/20 12:15
→ gene50814: 設成憑證路徑還是不行耶 不知道是不是我對憑證有什麼 02/20 14:07
→ gene50814: 誤解XD 02/20 14:07
→ lycantrope: 手邊沒windows,憑證如果是.der似乎要用openssl轉pem 02/20 17:04
→ wsybu: 有時候是對方SSL安裝的問題 03/03 16:11
→ s860134: 第二步 "憑證檢視器匯出憑證" 的時候看一下存檔類型 03/03 16:48
→ s860134: 要匯出的是憑證鏈而不是單一憑證 03/03 16:54
推 roccqqck: 自簽憑證怎簽的 誰簽的 簽錯dns資訊了話不管怎樣會報錯 03/29 21:11
→ roccqqck: 除非公司有專用的CA自簽公司憑證 不然都略過憑證比較好 03/29 21:13