tencent-connect / botpy

QQ频道机器人PythonSDK
MIT License
585 stars 87 forks source link

CentOS7.6 下部署QQ 机器人服务端程序,抛异常;然而在windows 10下运行良好。 #171

Open james-yi-lan opened 9 months ago

james-yi-lan commented 9 months ago

我开发了一款QQ机器人服务端小程序,在windows10上运行良好。但部署到CentOS7.6 下,运行时抛出下列异常: aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host bots.qq.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1007)')]

windows10与CentOS7.6下,安装的python版本都是3.8.6。 而且将 源码 ./examples/demo_api_permission.py,放到CentOS7.6下,也抛出上述异常。 请问怎么解决上述异常?

james-yi-lan commented 9 months ago

在CentOS7上,通过curl命令可以正常获取到 Access Token,如图所示。 gotAccessToken

qwqdw2 commented 6 months ago

禁用aiohttp的SSL证书验证即可

编辑robot.py文件第44行 修改前:

屏幕截图 2024-04-11 234409

修改后(需要先导入ssl模块):

屏幕截图 2024-04-11 234448

import ssl connector = aiohttp.TCPConnector(ssl=False) session = aiohttp.ClientSession(connector=connector)