📅  最后修改于: 2023-12-03 15:09:02.279000             🧑  作者: Mango
当执行 POST 请求时,有时会发生 "CERTIFICATE_VERIFY_FAILED" 错误,这通常是由于证书问题导致的。本文将介绍如何解决这个错误,确保 POST 请求可以正常执行。
"CERTIFICATE_VERIFY_FAILED" 错误通常是由于 SSL/TLS 证书问题引起的。在 Python 中,这通常是由于缺少根证书和中间证书,或者由于服务器证书无法验证。
可以在请求时使用 verify=False 参数来禁用证书验证。这不是一个安全的解决方案,但可以解决一些临时问题。
import requests
response = requests.post(url, data=data, verify=False)
在执行 POST 请求之前,可以将根证书和中间证书导入到 Python 中。这只需要执行一次,可以放在程序的初始化部分。
import requests
import certifi
# 加载根证书和中间证书
cafile = certifi.where()
response = requests.post(url, data=data, verify=cafile)
如果有单独的服务器证书文件,可以手动指定它来验证服务器证书。
import requests
response = requests.post(url, data=data, cert='path/to/server.crt')
在执行 POST 请求过程中出现 "CERTIFICATE_VERIFY_FAILED" 错误时,有多种解决方案可供选择。使用 verify=False 参数虽然简单,但不安全。使用 certifi 库导入根证书和中间证书是一个更好的选择。如果您具有服务器证书,则可以手动指定该文件。