Windows 10环境下请求https://downdetector.ru时出现SSL: CERTIFICATE_VERIFY_FAILED错误的技术问询
SSL证书验证失败(SSLCertVerificationError)在Windows 10上的成因分析
我来帮你拆解下这个问题的核心原因,毕竟Windows和MacOS在SSL证书处理上确实有不少差异:
系统证书信任机制的差异
MacOS会自动把系统级的根证书整合到Python的证书验证链里,而Windows上的Python(尤其是通过普通pip安装的版本)有时候不会自动同步系统的信任证书。如果目标网站的SSL证书根颁发机构没被你的Windows系统或者requests依赖的certifi包信任,就会触发这个错误。你的同事Mac上的系统已经信任了这个根CA,所以能正常访问。certifi包版本或配置问题
requests库默认用certifi提供的证书集合来验证SSL连接。如果你的Windows机器上的certifi包版本比较旧,没有包含目标网站证书对应的根CA,就会验证失败。而Mac上的certifi可能已经自动更新到了最新版本,或者系统自带的证书库补充了这部分内容。网络环境的潜在影响
如果你在Windows上用了公司代理、VPN或者某些安全软件,这些工具可能会拦截SSL流量并替换成自己的证书。如果你的系统没信任这些工具的证书,requests就会判定证书无效。而你的同事Mac可能没使用同样的网络拦截工具,或者已经配置了信任对应的证书。
内容的提问来源于stack exchange,提问作者allin
相关产品推荐
相关产品推荐

