如何在 Python 中创建 websocket 连接?

How do I create a websocket connection in Python?

我正在尝试使用以下代码创建一个 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