OpenSSL本地证书无法获取错误
# 1. 问题说明
在某些情况下,运行khl.py的时候,会遇到aiohttp无法获取到本地证书的错误,其核心的报错如下
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
完整错误日志
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 340, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 40, in <module>
cert=Cert(cafile=certifi.where()) # 使用certifi的证书
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Cert.__init__() got an unexpected keyword argument 'cafile'
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 40, in <module>
cert=Cert(cafile=certifi.where()) # 使用certifi的证书
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Cert.__init__() got an unexpected keyword argument 'cafile'
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 42, in <module>
cert=Cert(certifi.where()) # 新版本去掉了 cafile 参数名
^^^^^^^^^^^^^^^^^^^^^
TypeError: Cert.__init__() takes 1 positional argument but 2 were given
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 48, in <module>
bot = Bot(
^^^^
TypeError: Bot.__init__() got an unexpected keyword argument 'api_base_url'
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 37, in <module>
bot = Bot(
^^^^
TypeError: Bot.__init__() got an unexpected keyword argument 'api_base_url'
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 37, in <module>
bot = Bot(
^^^^
TypeError: Bot.__init__() got an unexpected keyword argument 'api_base_url'
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 36, in <module>
bot = Bot(
^^^^
TypeError: Bot.__init__() got an unexpected keyword argument 'api_base_url'
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 36, in <module>
bot = Bot(
^^^^
TypeError: Bot.__init__() got an unexpected keyword argument 'api_base_url'
KOOK机器人启动中...
Traceback (most recent call last):
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1283, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs, sock=sock)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/www/wwwroot/main/src/main.py", line 281, in <module>
bot.run()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 493, in run
self.loop.run_until_complete(self.start())
File "/www/server/pyporject_evn/src_venv/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/bot/bot.py", line 486, in start
await self.client.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/client.py", line 369, in start
await asyncio.gather(self.handle_pkg(), self.gate.run(self._pkg_queue))
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/gateway.py", line 39, in run
await self.receiver.start()
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 106, in start
await self._get_gateway(cs)
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/khl/receiver.py", line 79, in _get_gateway
async with cs.get(f"{API}/gateway/index",
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 1488, in __aenter__
self._resp: _RetType = await self._coro
^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 770, in _request
resp = await handler(req)
^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/client.py", line 725, in _connect_and_send_request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 642, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1581, in _create_direct_connection
raise last_exc
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1550, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/www/server/pyporject_evn/src_venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1285, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host www.kaiheila.cn:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
如果你知道证书和CA的含义,那么大概能猜到这个报错是什么意思。
所有站点的ssl证书,都需要经过CA机构的认证和颁发。操作系统会默认内嵌已有CA机构的公钥,以用于解密CA颁发的证书中的数字签名。
因为CA机构是内嵌在操作系统本地的,如果一个证书的颁发机构不在本地已有CA中,该站点的SSL证书可能是自签名证书,就会被报不安全。因为在默认情况下,自签名证书是不被认可的。
# 2. 解决办法
这个问题的原因并非你的主机上缺少CA证书,而大概率是python无法在本地ssl证书应该存在的路径中,找到证书。
参考博客:https://blog.musnow.top/posts/3348986841/ (opens new window) 可以解决
此问题在MacOS、CentOS操作系统中非常常见,几乎必现,在Ubuntu中一般不会有此问题。
下面介绍在CentOS中解决此问题的步骤。
# 2.1 更新本地ca包
先 yum install ca-certificates,已经装过的话那就是 yum update ca-certificates 如果不行再 pip3 install certifi
操作完毕上面的步骤,发现本地已经安装了最新版本的ca-certificates,python也有安装certifi包
$ yum update ca-certificates
Repository extras is listed more than once in the configuration
Warning: failed loading '/etc/yum.repos.d/epel.repo', skipping.
Last metadata expiration check: 8:42:37 ago on Thu 23 Feb 2023 03:09:14 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
$ pip3.10 install certifi
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: certifi in ./.local/lib/python3.10/site-packages (2022.12.7)
$ pip3.10 install certifi -U
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: certifi in ./.local/lib/python3.10/site-packages (2022.12.7)
# 2.2 查看本地主机的链接
于是尝试使用如下命令,看看主机是否能成功连接到kaiheila.cn(kookapp.cn) 并认证ssl证书
openssl s_client -connect www.kookapp.cn:443 -showcerts
输出了如下的信息
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
verify return:1
depth=0 CN = *.kookapp.cn
verify return:1
CONNECTED(00000003)
---
Certificate chain
0 s:CN = *.kookapp.cn
i:C = US, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
-----BEGIN CERTIFICATE-----
MIIHkTCCBXmgAwIBAgIQCUlurlf6m1VXsuISNqlT8DANBgkqhkiG9w0BAQsFADBc
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xNDAyBgNVBAMT
K1JhcGlkU1NMIEdsb2JhbCBUTFMgUlNBNDA5NiBTSEEyNTYgMjAyMiBDQTEwHhcN
MjIwNjE1MDAwMDAwWhcNMjMwNjE1MjM1OTU5WjAXMRUwEwYDVQQDDAwqLmtvb2th
cHAuY24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDB1uHkQ/oEkGNl
oVa6wHz424VznxL+eUt6AAfNhtIXeone8rtnJqeoDJ24lmBYUrL00tChCp4rdTdd
crqPppDYSEY7+/U0hf39pDrmsGKZeeOu7JvANjtvqLFdXsqe5CnXtxAo5QUXB9gc
kttoLTZZX5O1Gyi6mqDtsFCTaVpsQmZWVcbA21zLAdAZJyUyzM2VyfCUPQHs+VFE
rcmA9SN8nkppLyf00lIHCWR6v9HYC2XgjHN2JX8ARJwTEddhHjvleMc/SlHncU6f
pZ8itWx8NzBL6MwPKEjmHgKp0VYBMY6PHrSR/j/XtgOweodp1JBIr6yLLlyCu/lJ
ksCwMUIZAgMBAAGjggOSMIIDjjAfBgNVHSMEGDAWgBTwnIX9op99j8lou9XUiU0d
vtOQ/zAdBgNVHQ4EFgQUYe6lb4/s4J82aqWfNDaev2MD8k4wIwYDVR0RBBwwGoIM
Ki5rb29rYXBwLmNuggprb29rYXBwLmNuMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwgZ8GA1UdHwSBlzCBlDBIoEagRIZCaHR0
cDovL2NybDMuZGlnaWNlcnQuY29tL1JhcGlkU1NMR2xvYmFsVExTUlNBNDA5NlNI
QTI1NjIwMjJDQTEuY3JsMEigRqBEhkJodHRwOi8vY3JsNC5kaWdpY2VydC5jb20v
UmFwaWRTU0xHbG9iYWxUTFNSU0E0MDk2U0hBMjU2MjAyMkNBMS5jcmwwPgYDVR0g
BDcwNTAzBgZngQwBAgEwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2Vy
dC5jb20vQ1BTMIGHBggrBgEFBQcBAQR7MHkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
Y3NwLmRpZ2ljZXJ0LmNvbTBRBggrBgEFBQcwAoZFaHR0cDovL2NhY2VydHMuZGln
aWNlcnQuY29tL1JhcGlkU1NMR2xvYmFsVExTUlNBNDA5NlNIQTI1NjIwMjJDQTEu
Y3J0MAkGA1UdEwQCMAAwggF/BgorBgEEAdZ5AgQCBIIBbwSCAWsBaQB3AOg+0No+
9QY1MudXKLyJa8kD08vREWvs62nhd31tBr1uAAABgWbUskcAAAQDAEgwRgIhAL1q
ZKig2NqYtlAVnaXtJ7Tk+OuROrPHGR8t2zyNTb6xAiEAsLL5yuvJ/WtIj0bLwbKR
0/nFe/Juub3aZjrNvUhzZIIAdQA1zxkbv7FsV78PrUxtQsu7ticgJlHqP+Eq76gD
wzvWTAAAAYFm1LJ6AAAEAwBGMEQCIDK3qkxuTUB1Dngycy9/LECyVXjlpi2eJBAC
6oZPJQ/VAiBs1iupiYwavmD2m6QrDzzZrW2MJWx4LMxCtvf6pmN3NwB3ALc++yTf
nE26dfI5xbpY9Gxd/ELPep81xJ4dCYEl7bSZAAABgWbUsnkAAAQDAEgwRgIhAL5v
fkeeQAwowpkUhf0U/Z2fFiL8IY+QsCyED40zw0d1AiEA02UjHM3tztsrMn2xyzmT
kVgXnly/OozP+LjdwdsTa6gwDQYJKoZIhvcNAQELBQADggIBAGdBom7y2NXOZL7K
xtZFBFQCBJrEQOHZvuN4Etkmotb+0aVnrEZ/Qc5+zl86YqURcmOZgPhzSjuVfTvU
sJJ1TkC/tMYofoo1Db7B5yRxQmjEYRNLFAZ8rbP/pd5Js8ZGWW7RcxqG+zebqDDD
2CWvpiJNStu/yjWwdsFXQUwU0XOGUfwJDHD0eSBaa3uclAn3kUqF82l2X9qzvy9E
exGjPOSWyNuksjeScr32OyNUrwo7RUYJU4Ztl8xaiaxcvg7u2/o9WWzPhHMVI6ij
rJbj6Wn+BMe3SMYcR/L+foItjWAuOqOVB7IKO32JgCkP1vyl8AWs0up8ddI/9jn3
px8ii0HphKJnkCPZNmLnnOhFXQjoPy2PRmKqusP0kleJw1ZpQXsQpm3yZqFggyFH
8S4ii83kkHBynC89dlwlBIkF29Ds4mYjau6mZZxE69By7ptvFvcYREYslaRMxd16
6PEf5mp5jBKSiI2iYcP8PQOudhObpkuw+KHz8ntkf++HeluuEiqsKyiyyiXm5dmR
E/9uIUjPcQia5ohs2VpAgOLhLG6yphWCHQ6awFj9q3Ce1Mm5yXyZFvLXWGwoJj6j
CVXAZDchwX4uiHW2fI3GHz1pTPg0L3NE/M2CHnQWJlh9cgOljmaZXCeKmLdA9phD
+NQho5xVElRiF+rijlrkMutS7p1Y
-----END CERTIFICATE-----
1 s:C = US, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
i:C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
-----BEGIN CERTIFICATE-----
MIIFyzCCBLOgAwIBAgIQCgWbJfVLPYeUzGYxR3U4ozANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0yMjA1MDQwMDAwMDBaFw0zMTExMDkyMzU5NTlaMFwxCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE0MDIGA1UEAxMrUmFwaWRTU0wgR2xv
YmFsIFRMUyBSU0E0MDk2IFNIQTI1NiAyMDIyIENBMTCCAiIwDQYJKoZIhvcNAQEB
BQADggIPADCCAgoCggIBAKY5PJhwCX2UyBb1nelu9APen53D5+C40T+BOZfSFaB0
v0WJM3BGMsuiHZX2IHtwnjUhLL25d8tgLASaUNHCBNKKUlUGRXGztuDIeXb48d64
k7Gk7u7mMRSrj+yuLSWOKnK6OGKe9+s6oaVIjHXY+QX8p2I2S3uew0bW3BFpkeAr
LBCU25iqeaoLEOGIa09DVojd3qc/RKqr4P11173R+7Ub05YYhuIcSv8e0d7qN1sO
1+lfoNMVfV9WcqPABmOasNJ+ol0hAC2PTgRLy/VZo1L0HRMr6j8cbR7q0nKwdbn4
Ar+ZMgCgCcG9zCMFsuXYl/rqobiyV+8U37dDScAebZTIF/xPEvHcmGi3xxH6g+dT
CjetOjJx8sdXUHKXGXC9ka33q7EzQIYlZISF7EkbT5dZHsO2DOMVLBdP1N1oUp0/
1f6fc8uTDduELoKBRzTTZ6OOBVHeZyFZMMdi6tA5s/jxmb74lqH1+jQ6nTU2/Mma
hGNxUuJpyhUHezgBA6sto5lNeyqc+3Cr5ehFQzUuwNsJaWbDdQk1v7lqRaqOlYjn
iomOl36J5txTs0wL7etCeMRfyPsmc+8HmH77IYVMUOcPJb+0gNuSmAkvf5QXbgPI
Zursn/UYnP9obhNbHc/9LYdQkB7CXyX9mPexnDNO7pggNA2jpbEarLmZGi4grMmf
AgMBAAGjggGCMIIBfjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTwnIX9
op99j8lou9XUiU0dvtOQ/zAfBgNVHSMEGDAWgBQD3lA1VtFMu2bwo+IbG8OXsj3R
VTAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNl
cnQuY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20v
RGlnaUNlcnRHbG9iYWxSb290Q0EuY3J0MEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwPQYD
VR0gBDYwNDALBglghkgBhv1sAgEwBwYFZ4EMAQEwCAYGZ4EMAQIBMAgGBmeBDAEC
AjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEBAAfjh/s1f5dDdfm0sNm74/dW
MbbsxfYV1LoTpFt+3MSUWvSbiPQfUkoV57b5rutRJvnPP9mSlpFwcZ3e1nSUbi2o
ITGA7RCOj23I1F4zk0YJm42qAwJIqOVenR3XtyQ2VR82qhC6xslxtNf7f2Ndx2G7
Mem4wpFhyPDT2P6UJ2MnrD+FC//ZKH5/ERo96ghz8VqNlmL5RXo8Ks9rMr/Ad9xw
Y4hyRvAz5920myUffwdUqc0SvPlFnahsZg15uT5HkK48tHR0TLuLH8aRpzh4KJ/Y
p0sARNb+9i1R4Fg5zPNvHs2BbIve0vkwxAy+R4727qYzl3027w9jEFC6HMXRaDc=
-----END CERTIFICATE-----
---
Server certificate
subject=CN = *.kookapp.cn
issuer=C = US, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3993 bytes and written 392 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
在这里面能看到如下内容
SSL handshake has read 3993 bytes and written 392 bytes
Verification: OK
也就是说,我们的本地主机是能成功认证kookapp.cn的ssl证书的,那么问题就出现在python的ssl模块中了!
# 2.3 检测python的ssl模块
python开启一个REPL,输入如下的两行代码
import ssl
ssl.create_default_context().cert_store_stats()
输出的内容如下
>>> import ssl
>>> ssl.create_default_context().cert_store_stats()
{'x509': 0, 'crl': 0, 'x509_ca': 0}
这里就能看出来问题了,全都是0!难怪说没有办法获取本地的CA证书。
作为对比,一台正常的windows11电脑输出如下,应该是有数值的。
>>> import ssl
>>> ssl.create_default_context().cert_store_stats()
{'x509': 87, 'crl': 0, 'x509_ca': 84}
# 2.4 解决错误
找到了错误,那就得想办法解决!
python开启一个REPL,输入如下的两行代码
import ssl
ssl.get_default_verify_paths()
输出内容如下,这是本地python查找CA证书的位置
>>> import ssl
>>> ssl.get_default_verify_paths()
DefaultVerifyPaths(cafile=None, capath='/usr/local/openssl-1.1.1/ssl/certs', openssl_cafile_env='SSL_CERT_FILE', openssl_cafile='/usr/local/openssl-1.1.1/ssl/cert.pem', openssl_capath_env='SSL_CERT_DIR', openssl_capath='/usr/local/openssl-1.1.1/ssl/certs')
如果是mac系统,输出如下
>>> ssl.get_default_verify_paths()
DefaultVerifyPaths(cafile=None, capath=None, openssl_cafile_env='SSL_CERT_FILE', openssl_cafile='/Library/Frameworks/Python.framework/Versions/3.10/etc/openssl/cert.pem', openssl_capath_env='SSL_CERT_DIR', openssl_capath='/Library/Frameworks/Python.framework/Versions/3.10/etc/openssl/certs')
其中/usr/local/openssl-1.1.1/ssl/cert.pem中应该会保存CA的信息,使用ls查看本地的这个文件的内容
ls /usr/local/openssl-1.1.1/ssl/cert.pem
好家伙,发现文件压根不存在!
ls: cannot access '/usr/local/openssl-1.1.1/ssl/cert.pem': No such file or directory
看看openssl的版本和路径
openssl version -d
输出如下
OPENSSLDIR: "/etc/pki/tls"
于是看看这个目录下有没有我们需要的cert.pem
$ ls /etc/pki/tls
cert.pem certs ct_log_list.cnf misc openssl.cnf private
有!那么接下来要做的,就是创建一个软连接,将其弄到/usr/local中!
ln -s /etc/pki/tls/cert.pem /usr/local/openssl-1.1.1/ssl/cert.pem
这样Python才能成功找到本地的CA证书。
# 3.完美!
做完这一切后,再次运行机器人,这次么有报错了!
$ py3 main.py
[FileManage] load all files
[BOT] Start at: [23-02-24 00:25:29]
[BOT.TASK] fetch_public_channel success
# MAC下更常见?
似乎这个问题在mac下更常见?由于没有使用过mac设备,本文不解释相关内容

issue截图:
