Web 套接字客户端将无法连接到 API

web-socket client will not connect to an API

在网上搜索了几个小时并在 Reddit 上问了同样的问题但没有成功后,我决定注册 Stack Overflow 并在这里提问。

我目前正在学习教程以了解有关 API 的更多信息。此特定教程与 Binance API 合作,尝试每分钟收集一次有关 BTC 美元价格的数据。为此,我导入了 WebSocket-client 以保持稳定的连接并每分钟收集一次新数据点,但是每当我 运行 我的代码没有任何反应。控制台打印“进程已完成,退出代码为 0”,而不是实际连接到服务器并收集数据。

这是我的代码:

import websocket

SOCKET = "wss://stream.binance.com:9443/ws/btcusdt@kline_1m"

def on_open(ws):
    print('connection: successful')

def on_close(ws):
    print('connection: lost')

def on_message(ws, message):
    print('message')

ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_close=on_close, on_message=on_message)
ws.run_forever()

起初,我以为我安装了错误的 WebSocket 库(而不是我认为我使用的是 WebSocket 客户端。常规的 WebSocket 库)但是,我没有。然后我想可能是PyCharm有问题,所以我运行代码在Visual Studio代码,Sublime Text,Terminal,还有Jupyter notebook,但是none的他们要么工作。

我的代码有什么问题吗?我已尝试进行多次编辑,但 none 到目前为止已经成功。

币安 API 文档:https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-streams.md

我正在关注的教程:https://youtu.be/GdlFhF6gjKo?t=1112(转到 18:32 左右查看他的代码)。

ps。我是一名新程序员,刚刚完成我的第一个项目(a* 寻路算法)所以不要太苛刻:)。

假设这是普遍存在的 SSL 错误,那么请执行以下操作:-

import websocket
import ssl

SOCKET = "wss://stream.binance.com:9443/ws/btcusdt@kline_1m"


def on_open(ws):
    print('connection: successful')

def on_close(ws, *args):
    print('connection: lost')

def on_message(ws, message):
    print('message')

def on_error(ws, message):
    print(message)

ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_close=on_close, on_message=on_message, on_error=on_error)
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})