gpt4 book ai didi

python-3.x - Python SSL证书验证错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:42 25 4
gpt4 key购买 nike

我正在使用请求来访问 RESTful API。一切似乎都有效。我可以在我为 API 编写的类中进行身份验证、提取 session token ,甚至对方法进行单元测试。然后我尝试运行我的代码。

首先,这是我正在打的电话。 header 是在 init() 中设置的静态 session 相关项目。正文是根据文件中的数据动态构建并传递给此函数的。所有数据均有效。

response = requests.post(url, headers=(Requestheader), data=json.dumps((Requestbody)))

当我运行代码时,它使用我提供的元数据更新了 100 多条记录。在项目 150 附近的某个地方,我得到以下信息:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)

我的第一步是调用供应商,看看他们的所有 Web 服务器是否都正确签署了证书,证明他们正在对我进行负载平衡,我发现了一个配置错误的服务器。他们告诉我情况并非如此。

然后我用 Google 搜索了这条消息,发现有一个 verify kwarg,所以我尝试了:

response = requests.post(url, headers=Requestheader, data=json.dumps(Requestbody), verify=False)

我知道这不是长期的理想选择,但我想对其进行测试以查看行为是否相同。它做了同样的事情。它运行了一段时间并抛出 ssl 错误。我认为 verify=False 的想法是它不会检查。

供应商建议我检查我正在使用的网址,但没问题。我想如果有代理服务器或真正的中间人攻击导致问题,我不会在失败之前多次看到成功。我认为这可能是 session 超时,但这应该会引发 401 状态并且我的事件级别对于不活动超时来说太高了。

我是 Python 菜鸟,不是安全专家。建议表示赞赏。

最佳答案

更新

python-certifi-win32 如评论中指出的那样不再维护。

改用嵌入式库 pip-system-certs


如果您使用的是 Windows 并且您已经将 CA 导入到可信数据库存储中,则可以安装包 python-certifi-win32,它会自动使用来自可信数据库存储的相同证书。

pip install python-certifi-win32

然后你的代码应该开始工作了

参见: Python Requests with wincertstore

https://gitlab.com/alelec/python-certifi-win32

关于python-3.x - Python SSL证书验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51390968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com