我在Python中遇到了SSL错误(使用discord.py)

-2 投票
1 回答
30 浏览
提问于 2025-04-12 23:49

我做了一个Discord机器人,但我不确定在安装discord.py库(版本2)时是否出错了,因为我遇到了SSL错误。

C:\Users\Snipexx2024>C:\Users\Snipexx2024\Desktop\Crystal.py
Traceback (most recent call last):
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\connector.py", line 969, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 1147, in create_connection
    transport, protocol = await self._create_connection_transport(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 1180, in _create_connection_transport
    await waiter
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\asyncio\sslproto.py", line 578, in _on_handshake_complete
    raise handshake_exc
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\asyncio\sslproto.py", line 560, in _do_handshake
    self._sslobj.do_handshake()
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 917, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Snipexx2024\Desktop\Crystal.py", line 20, in <module>
    bot.run('MTIxNzU0NjE1OTU2MDcyMDUwNQ.G0wD2s.nj8LehffQFvD9gUTUxpygfdWHFNi2NV4b53Pao')
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 723, in run
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 702, in runner
    await self.start(*args, **kwargs)
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 665, in start
    await self.login(*args, bot=bot)
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 511, in login
    await self.http.static_login(token.strip(), bot=bot)
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\http.py", line 300, in static_login
    data = await self.request(Route('GET', '/users/@me'))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\http.py", line 192, in request
    async with self.__session.request(method, url, **kwargs) as r:
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\client.py", line 1117, in __aenter__
    self._resp = await self._coro
                 ^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\client.py", line 520, in _request
    conn = await self._connector.connect(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\connector.py", line 535, in connect
    proto = await self._create_connection(req, traces, timeout)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\connector.py", line 892, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\connector.py", line 1051, in _create_direct_connection
    raise last_exc
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\connector.py", line 1020, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Snipexx2024\AppData\Local\Programs\Python\Python312\Lib\site-packages\aiohttp\connector.py", line 971, in _wrap_create_connection
    raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)')]

1 个回答

-1

看起来你的代码在尝试连接Discord时遇到了SSL证书验证错误。这可能是因为你的系统缺少SSL证书或者配置不正确。确保你的Python环境可以访问所需的SSL证书,或者尝试重新安装一下discord.py库,以确保它安装正确。另外,检查一下你系统的日期和时间设置是否准确,因为SSL证书是有时间限制的。

撰写回答