调用 deepseek api,遇到 SSL 证书问题,应该是 SSL 不认公司 firewall 的证书。
出错内容:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)')))
解决方案: 手动添加证书到 python 的认证系统。
注意:添加证书意味着,你通过这个链接传输的信息,对这个证书节点是透明的!!如果你手动添加了证书,说明你是信任这个网关的。
1. 查看 Python 证书文件 cacert.pem 位置:
python -c "import certifi; print(certifi.where())"
2. 查看网关证书
用浏览器访问 deepseek,点击 URL 前面的这个小锁,然后查看 secure 信息。其它浏览器可能不长这样,但是都是可以查看的。
点击这里查看证书:
导出证书:
中间经过几个网关,都导出来,得到相应的 crt 文件。
3. 手动 copy 证书到 cacert.pem
使用文本编辑器打开 crt 文件和 pem 文件,拷贝 crt 文件中的证书(包括 BEGIN END 两行)到 cacert.pem 末尾。
这里可以参考文件中已有证书的格式,添加一些注释内容。注释内容只是给自己看的,加点备忘信息即可。
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
Done!再次跑脚本,没有任何问题。