如何在 Python 中创建 websocket 连接?

问题描述

我正在尝试使用以下代码创建 websocket 连接(只是为了进行测试连接):

async def webSocket():

async with websockets.connect("wss://push1-v2.kucoin.com") as test:
    await test.send("/api/v1/bullet-public")
    result = await test.recv()
    print(result)

if __name__ == '__main__':
asyncio.get_event_loop().run_until_complete(webSocket())

结果应该是这样的 json 响应:

{
"code": "200000","data": {

    "instanceServers": [
        {
            "endpoint": "wss://push1-v2.kucoin.com/endpoint","protocol": "websocket","encrypt": true,"pingInterval": 50000,"pingTimeout": 10000
        }
    ],"token": "vYNlCtbz4XNJ1QncwWilJnBtmmfe4geLQDUA62kKJsDChc6I4bRDQc73JfIrlFaVYIAE0Gv2--MROnLAgjVsWkcDq_MuG7qV7EktfCEIphiqnlfpQn4Ybg==.IoORVxR2LmKV7_maOR9xOg=="
}

}

相反,当我执行代码时出现以下错误:

for res in _socket.getaddrinfo(host,port,family,type,proto,flags):
socket.gaierror: [Errno 11001] getaddrinfo failed

是否有我必须更改为我的 python 设置的设置?我使用的是 3.9 版。

解决方法

第一个 POST (/api/v1/bullet-public) 的目标是 API HTTPS,即 https://api.kucoin.com/

您可以使用命令行或终端手动尝试:

curl -i -X POST https://api.kucoin.com/api/v1/bullet-public

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...