SSL:CERTIFICATE_VERIFY_FAILED]证书从python脚本生成SMS时验证失败

时间:2018-08-10 08:12:01

标签: python ssl plivo

我的python脚本类似于以下内容,该脚本在我的个人笔记本电脑上工作正常。

import plivo
import sys

auth_id = "XXXXXX"
auth_token = "YYYYYYYYYYYY"
test = plivo.RestClient(auth_id, auth_token)

message_created = test.messages.create(
    src='ZZZZZZ',
    dst='+NNNNN',
    text='Testing!!'
) 

但是在我们的组织PC中运行脚本时,其抛出错误

raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.plivo.com', port=443): **Max retries exceeded with url**: /v1/Account/SXXXXXYW/Message/ (Cau
sed by SSLError(SSLError(1, u'[SSL: **CERTIFICATE_VERIFY_FAILED**] certificate verify failed (_ssl.c:590)'),))

我尝试添加ssl._create_default_https_context = ssl._create_unverified_context和PYTHONHTTPSVERIFY = 0,但不幸的是,这对我没有用。谁能帮助我解决该错误?

1 个答案:

答案 0 :(得分:0)

尝试使用https://github.com/locustio/locust/issues/417

中的解决方案

如何摆脱“ SSL:CERTIFICATE_VERIFY_FAILED”错误

在Windows上,Python不会查看系统证书,它使用位于?\ lib \ site-packages \ certifi \ cacert.pem的证书。

您的问题的解决方案:

  1. 将域验证证书下载为* .crt或* pem文件
  2. 在编辑器中打开文件并将其内容复制到剪贴板
  3. 找到cacert.pem的位置:从request.utils导入 DEFAULT_CA_BUNDLE_PATH; 打印(DEFAULT_CA_BUNDLE_PATH)
  4. 编辑cacert.pem文件并粘贴您的域验证 文件末尾的证书。
  5. 保存文件并享受请求!