aiohttp ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] 错误处理
这个问题原因吧其实就是3.10 开始官网更新了TLS 堆栈默认安全设置
感兴趣的可以看下链接
python官网叙述: Python 3.10 增加了 TLS 堆栈的默认安全设置
解决也很简单,将ssl安全等级降下来就行,例如:
import ssl
import aiohttp
ctx = ssl.create_default_context()
ctx.set_ciphers('DEFAULT')
async def connect():
try:
async with aiohttp.ClientSession().ws_connect('wss://danmuproxy.douyu.com:8504/',
receive_timeout=30 + 5,
ssl_context=ctx) as websocket: #这里更新了ssl_context内容换成自己的DEFAULT 策略
await on_ws_connect(websocket)
message: aiohttp.WSMessage
async for message in websocket:
await on_ws_message(message)
finally:
await session.close()