discord.py"SSL证书验证失败"错误



任何基于discord.py结果错误的python程序:

Traceback (most recent call last):
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 969, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 1081, in create_connection
transport, protocol = await self._create_connection_transport(
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 1111, in _create_connection_transport
await waiter
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/sslproto.py", line 528, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/sslproto.py", line 188, in feed_ssldata
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 944, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/user/Documents/DroppingBOt.py", line 54, in <module>
bot.run(DISCORD_BOT_TOKEN)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 723, in run
return future.result()
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 702, in runner
await self.start(*args, **kwargs)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 665, in start
await self.login(*args, bot=bot)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/client.py", line 511, in login
await self.http.static_login(token.strip(), bot=bot)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/http.py", line 300, in static_login
data = await self.request(Route('GET', '/users/@me'))
File "/Users/user/Library/Python/3.9/lib/python/site-packages/discord/http.py", line 192, in request
async with self.__session.request(method, url, **kwargs) as r:
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/client.py", line 1117, in __aenter__
self._resp = await self._coro
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/client.py", line 520, in _request
conn = await self._connector.connect(
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 892, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 1051, in _create_direct_connection
raise last_exc
File "/Users/user/Library/Python/3.9/lib/python/site-packages/aiohttp/connector.py", line 1020, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "/Users/user/Library/Python/3.9/lib/python/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:1129)')]

只有在包含字符串时才会出现

bot.run(DISCORD_BOT_TOKEN)

所以我很确定这甚至可能是一个request库问题。

有人知道原因吗?

我试着重新安装不和谐.py

我试着在其他电脑上运行

两台电脑都是MacOS

快速提示(无需阅读(:SSL是一种加密算法,用于在客户端和主机之间安全传输数据,以防止MITM(中间人(和其他攻击。你需要一个证书来确保主机是一个可验证的来源,他们不是伪装的黑客。

由于您的两台Mac电脑似乎都不工作,可能是由于您的网络防火墙拒绝访问特定证书,也可能只是没有安装。请尝试在其他网络上使用Mac,然后重新安装discord.py,但建议这可能不起作用。如果仍然不起作用,请参阅此处:https://www.digicert.com/kb/ssl-support/p12-import-export-mac-mavericks-server.htm

但是要非常小心。虽然这不太可能,但如果机器人曾经工作过,现在不工作了,这可能意味着你的网络被黑客入侵,可能会使用DNS中毒。如果这些解决方案都不起作用,那么尝试使用类似于replit的在线IDE。

编辑:也看看这里:报废:的SSL:CERTIFICATE_VERIFY_FAILED错误http://en.wikipedia.org

相关内容

最新更新