[問題] requests的ssl驗證問題

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

Links booklink

Contact Us: admin [ a t ] ucptt.com