You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用WebSocket client无法连接Binance API 运行后直接退出无响应

问题原因

新版websocket-client库对回调函数的参数签名要求有调整,你当前定义的on_open、on_close函数参数数量不符合库的调用要求,触发参数不匹配错误后连接会直接终止,所以没有任何输出就直接退出程序。

解决方案

调整回调函数的参数配置,同时新增错误回调方便后续排查问题,修正后的可运行代码如下:

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, close_status_code, close_msg):
    print('connection: lost')
    print(f"关闭状态码: {close_status_code}, 关闭信息: {close_msg}")

def on_message(ws, message):
    print('收到行情数据:', message)

def on_error(ws, error):
    print('连接发生错误:', error)

ws = websocket.WebSocketApp(SOCKET, 
                            on_open=on_open, 
                            on_close=on_close, 
                            on_message=on_message,
                            on_error=on_error)
# 新增ssl配置避免部分环境下SSL验证失败问题
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})
补充排查点

如果修改代码后仍然运行异常,可先执行命令卸载冲突的同名库:
pip uninstall websocket
再重新安装正确的依赖:
pip install websocket-client
确认依赖安装正确后再运行代码,如果还是连接失败,可检查当前网络是否可以正常访问Binance的相关服务。

内容的提问来源于stack exchange,提问作者pycoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:09:02