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

相同Websocket代码在其他电脑无法获取币安期货K线数据如何解决?

问题修复方案

1. 基础网络连通性排查

首先验证系统层面对币安期货Websocket域名的连通性,在出问题的Ubuntu终端执行命令:

curl -v -i 'wss://fstream.binance.com/stream?streams=btcusdt@kline_1m'

如果该命令无法返回正常响应,说明问题出在网络层面,与代码无关。

2. 域名解析校验

对比两台设备的DNS解析结果,执行命令:

nslookup fstream.binance.com

如果两台设备解析出的IP地址不一致,说明新设备存在DNS污染问题,可修改系统DNS为公共DNS(如8.8.8.8、114.114.114.114)后重试。

3. 代理与防火墙排查

  • 确认新设备是否配置了和旧设备一致的代理规则:websockets库默认不会读取系统代理配置,如需走代理需在连接时手动指定参数:
    async with ws.connect('wss://fstream.binance.com/stream?streams=btcusdt@kline_1m', proxy="http://你的代理地址:端口") as socket:
    
  • 检查系统防火墙是否封禁了443端口:
    sudo ufw status
    
    如有封禁规则可放行443端口后重试。

4. SSL证书校验排查

新重装的Ubuntu可能存在CA证书不全的问题,先更新系统CA证书:

sudo apt update && sudo apt install ca-certificates -y

如果更新后仍无法连接,可临时关闭SSL校验验证是否为证书问题(仅用于测试,不建议生产环境使用):

import ssl
# 连接时增加sslopt参数
async with ws.connect('wss://fstream.binance.com/stream?streams=btcusdt@kline_1m', sslopt={"cert_reqs": ssl.CERT_NONE}) as socket:

如果关闭校验后可正常连接,重新更新系统CA证书即可解决。

5. 依赖版本对齐

对比两台设备的websockets库版本:

pip show websockets

如果版本不一致,将新设备的库版本安装为和旧设备一致的版本即可:

pip install websockets==<旧设备对应的版本号>

6. 备选节点替换

若以上步骤都无法解决,可将期货接口域名替换为币安其他可用的期货流节点,如fstream-api.binance.com后重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:48:02