作者chan15 (ChaN)
看板Python
标题[问题] requests 时出现 CERTIFICATE_VERIFY_FAILED
时间Fri Aug 11 09:09:36 2023
HTTPSConnectionPool(host='xxx.example.com', port=443): Max retries exceeded
with url: /list (Caused by SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local
issuer certificate (_ssl.c:1131)')))
全错误讯息如上,我的模式是此段程式码透过 tobix/pywine:3.8 编译成 exe,在
windows 的环境跑 requests 的功能,同样的 exe 在公司两台 windows 10 跑都可以顺利
执行完毕,但在客户的 windows 10 就跑出这个讯息,我有找到这篇文
https://ithelp.ithome.com.tw/questions/10203445
有用 sslcheck 去看该网站,他的 ca bundle 是正常的,而且另外两台 windows 10 就没
有出现问题,所以应该是客户的 windows 10 有什麽差异导致这个结果,我知道可以透过
verify=False 跟一些隐藏错误的设定绕过,但这些其实是属於 not recommended 的最终
手段,所以希望有相关经验的网友们可以分享一下有什麽可能性跟解法,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.222.133.205 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1691716178.A.171.html
1F:→ CMJ0121: 可能是客户的网路环境有做 MITM 监听 HTTPS 封包 08/11 12:32
2F:→ chan15: 我网址改google会有一样的错误,但我使用curl可以顺利取到 08/11 12:56
3F:→ chan15: response body,头痛ing 08/11 12:57
4F:推 TuCH: Python吃的ca路径可能不太一样 确认一下 08/11 13:03
5F:→ chan15: TuCH兄可以给点提示吗 08/11 13:43
6F:→ lycantrope: 就字面意思,python跟curl用的ca路径不同 08/11 14:09
7F:推 ToastBen: CA是否被置换掉了? 08/11 22:43