You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10下用Python 3.8运行Discord机器人遇SSL证书过期错误,如何解决?

嘿,这个问题我之前帮不少Discord机器人开发者解决过,咱们先拆解下错误本质,再一步步来解决:

错误到底啥意思?

这个ClientConnectorCertificateError本质是SSL证书验证失败:你的Python程序(准确说Discord机器人依赖的aiohttp库)在尝试和Discord的服务器discordapp.com:443建立加密HTTPS连接时,发现Discord返回的SSL证书已经过期了——本地系统的SSL安全机制为了防止你连接到恶意伪造的服务器,直接拒绝了这次连接,所以抛出了这个错误。

大概率不是你的代码写错了,问题出在本地的证书存储过期或者没同步上最新的根证书。


按优先级试试这些解决方法

  • 先更新Windows系统的根证书
    Windows 10本来会自动同步根证书,但如果自动更新没开或者卡住了,手动操作下:

    1. 按Win + R,输入inetcpl.cpl打开「Internet属性」
    2. 切到「内容」标签,点击「证书」→「受信任的根证书颁发机构」
    3. 先试试让Windows自动更新:打开「设置」→「更新和安全」→「Windows更新」,检查并安装所有可选更新(尤其是证书相关的小更新);如果还是不行,可以手动导入最新的根证书
  • 更新Python的certifi库
    Python的SSL验证很多时候依赖certifi这个第三方库维护的证书列表,直接在命令提示符里跑这个命令:

    pip install --upgrade certifi
    

    更新完重启你的机器人程序,大概率能解决。

  • 临时绕过SSL验证(仅测试用,绝对别放正式环境)
    如果上面俩方法都暂时没效果,只是想快速测试机器人功能,可以临时关闭SSL验证——但注意,这会让你的连接失去加密保护,非常不安全:
    初始化Discord客户端的时候加个连接器参数,代码大概是这样:

    import discord
    import aiohttp
    
    intents = discord.Intents.default()
    # 加上ssl=False的连接器
    client = discord.Client(intents=intents, connector=aiohttp.TCPConnector(ssl=False))
    

内容的提问来源于stack exchange,提问作者Cyandog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:32:43