gpt4 book ai didi

python - 如何在Python中使用websocket api?

转载 作者:行者123 更新时间:2023-11-30 22:32:14 26 4
gpt4 key购买 nike

我想消费以下 websocket weather api .

我尝试调整 following examples但我没有取得任何进展。

import asyncio
import websockets

async def hello():
async with websockets.connect('ws://ws.weatherflow.com/swd/data') as websocket:

await websocket.send({
"type":"listen_start",
"device_id":1110,
"id":"2098388936"
})

greeting = await websocket.recv()
print(greeting)

asyncio.get_event_loop().run_until_complete(hello())

如何在Python中使用websocket api?那就是如何获取源源不断的天气信息呢?

最佳答案

似乎缺少 api_key 参数:

来自SmartWeather documentation :

  • Websocket

    • 打开 WebSocket 连接
    • wss://ws.weatherflow.com/swd/data?api_key=20c70eae-e62f-4d3b-b3a4-8586e90f3ac8

    • 通过 websocket 连接发送 JSON 消息以开始监听来自演示设备的观察结果。发送此消息后,您连接的 websocket 客户端将每分钟收到一条新的观察 JSON 消息。

    • { "type":"listen_start", "device_id":1110, "id":"random-id-12345"}

我使用以下代码让它工作:

import asyncio
import websockets

async def hello():
async with websockets.connect('wss://swd.weatherflow.com/swd/data?api_key=20c70eae-e62f-4d3b-b3a4-8586e90f3ac8') as websocket:
await websocket.send('{"type":"listen_start", "device_id":1110,"id": "2098388936"}')
greeting = await websocket.recv()
print(greeting)

asyncio.get_event_loop().run_until_complete(hello())

注意,根据文档,这个API key是为了快速入门。不要在您的应用程序中使用此 key 。

关于python - 如何在Python中使用websocket api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com