【问题标题】:"Certificate verify failed: certificate has expired (_ssl.c:****)" When attempting to connect my bot to discord“证书验证失败:证书已过期(_ssl.c:****)”尝试将我的机器人连接到不和谐时
【发布时间】:2020-12-23 20:00:21
【问题描述】:

我正在使用 python 制作一个不和谐的机器人。当我尝试运行它以将我的客户端连接到不和谐时,我收到此错误:

引发 ClientConnectorCertificateError( aiohttp.client_exceptions.ClientConnectorCertificateError:不能 连接到主机 discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败: 证书已过期 (_ssl.c:****)')]

每次我尝试运行它时都会发生。

我看到了一个合理的解决方法是:

  • 使用 Internet Explorer(以管理员身份运行)访问 discord.com
  • 点击右上角的锁
  • 点击查看证书
  • 安装一个

但是,当我尝试它然后再次尝试运行我的机器人时,我仍然遇到同样的错误。

不知道这是否相关,但在 Traceback 部分的错误消息的开头,它说引发错误的第一个调用位于我的机器人代码的最后一行,即 client.run(TOKEN)。

我在 Windows 10 上使用 Python 3.8。

【问题讨论】:

    标签: python-3.x ssl certificate discord discord.py


    【解决方案1】:

    下载并安装this证书。

    双击文件安装到本地计算机即可安装,下载链接位置:

    【讨论】:

    • 很好,我发现了我的问题。结果我的电脑上什至没有ssl,所以我把所有东西都移到了有ssl的linux服务器上,一切正常。不过谢谢!
    【解决方案2】:

    TL;DR 您的证书已过期,您需要从网站下载新证书并将其安装到您的操作系统中,然后将其下载并安装到本地计算机。

    此解决方案使用 Google Chrome 和 Windows 10 执行。

    1. 转到您尝试请求的网站
    2. 单击 URL 输入字段左侧的锁定图标
    3. 如果显示证书(有效),则表明您正在开展业务。点击那个
    4. 在结果窗口中,单击“详细信息”选项卡
    5. 点击复制到文件...
    6. 在证书导出向导中,选择 Cryptographic Message Syntax Standard (.P7B)
    7. 选中它下面的框,如果可能,请在证书路径中包含所有证书
    8. 单击下一步,单击浏览并选择一个文件夹,为文件创建一个名称并单击保存
    9. 接下来,完成
    10. 打开刚刚导出的文件。如果您使用的是 Windows,它将打开证书管理器
    11. 深入文件夹以查找实际证书
    12. 一个一个,双击每个证书,为当前用户选择安装证书,然后自动选择去哪里

    安装验证 HTTPS 请求所需的所有证书后,您的脚本不应再遇到证书过期错误,直到新证书过期。

    您还可以在 certmgr 中检查每个证书的到期时间。

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 2021-11-22
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 2019-04-24
      • 2020-09-07
      相关资源
      最近更新 更多