📌  相关文章
📜  如何在执行 POST 请求时解决颤振 CERTIFICATE_VERIFY_FAILED 错误? (1)

📅  最后修改于: 2023-12-03 15:09:02.279000             🧑  作者: Mango

如何在执行 POST 请求时解决颤振 CERTIFICATE_VERIFY_FAILED 错误?

当执行 POST 请求时,有时会发生 "CERTIFICATE_VERIFY_FAILED" 错误,这通常是由于证书问题导致的。本文将介绍如何解决这个错误,确保 POST 请求可以正常执行。

问题原因

"CERTIFICATE_VERIFY_FAILED" 错误通常是由于 SSL/TLS 证书问题引起的。在 Python 中,这通常是由于缺少根证书和中间证书,或者由于服务器证书无法验证。

解决方案
1. 使用 verify=False 参数

可以在请求时使用 verify=False 参数来禁用证书验证。这不是一个安全的解决方案,但可以解决一些临时问题。

import requests

response = requests.post(url, data=data, verify=False)
2. 导入根证书和中间证书

在执行 POST 请求之前,可以将根证书和中间证书导入到 Python 中。这只需要执行一次,可以放在程序的初始化部分。

import requests
import certifi

# 加载根证书和中间证书
cafile = certifi.where()

response = requests.post(url, data=data, verify=cafile)
3. 指定服务器证书

如果有单独的服务器证书文件,可以手动指定它来验证服务器证书。

import requests

response = requests.post(url, data=data, cert='path/to/server.crt')
结论

在执行 POST 请求过程中出现 "CERTIFICATE_VERIFY_FAILED" 错误时,有多种解决方案可供选择。使用 verify=False 参数虽然简单,但不安全。使用 certifi 库导入根证书和中间证书是一个更好的选择。如果您具有服务器证书,则可以手动指定该文件。