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

标签 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 但不幸的是对我没有任何作用。谁能帮我解决这个错误?

最佳答案

尝试来自 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 位置:from requests.utils import DEFAULT_CA_BUNDLE_PATH; 打印(DEFAULT_CA_BUNDLE_PATH)
  4. 编辑 cacert.pem 文件并粘贴您的域验证 文件末尾的证书。
  5. 保存文件并享受请求!

关于python - SSL: CERTIFICATE_VERIFY_FAILED] 从 python 脚本生成 SMS 时证书验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51781945/

相关文章:

java ssl握手异常

amazon-web-services - Wso2 在普通 ldap 端口 389 上与事件目录集成

python - Django 模型继承架构的正确实现?

python - Pandas:宽格式列出的三个列

redirect - NGINX https ://www. example.com/index.php 到 https ://www. example.com/redirect 怎么办?

python - Plivo python 消息

java - NoClassDefFoundError : javax.naming.ldap.LdapName是GAE中的受限类

python - 如何在 Python 中创建漂亮的 shell 命令包装器

python - 将对象包装到派生类中

javascript - 在记录 Action 中变得空虚 - twilio