无法连接到币安 websocket。我得到:WebSocketBadStatusException:握手状态 400 错误请求

New*_*ler 2 python api websocket binance

我正在尝试连接到 Binance websocket 流。根据他们的文档,我使用以下代码建立连接:

from websocket import create_connection

ws = create_connection('wss://fstream.binance.com/')
Run Code Online (Sandbox Code Playgroud)

但运行时,我收到以下错误:

WebSocketBadStatusException: Handshake status 400 Bad Request
Run Code Online (Sandbox Code Playgroud)

我在网上找不到有关此错误的任何信息。

有谁知道如何解决这一问题?

Egi*_*ila 10

这一点在币安 API 文档中有些不清楚。

期货的基本网址是:

  • wss://fstream.binance.com
  • wss://fstream3.binance.com

但如果您只是连接到这些基本网址,您就会遇到上述异常。您应该补充 url 字符串

  • wss://fstream.binance.com/ws
  • wss://fstream3.binance.com/ws

这对于现货市场和所有其他网络套接字来说都是一样的。始终在末尾添加“/ws”。

您还可以使用连接网址开始订阅,然后它看起来像这个现货市场示例:

  • wss://stream.binance.com:9443/ws/btcusdt@aggTrade

(但我认为仅使用“/ws”连接,然后按照流文档中的说明进行实时订阅/取消订阅是更好的方法。)


小智 6

我得说我花了很长时间才找到解决方案,但现在就这样了。

应编辑 Binance API 文档,因为它缺少 fstream.binance.com 的端口

端口是443。

所以你应该使用

“fstream.binance.com:443”而不是

“fstream.binance.com”。

希望能帮助到你。(天哪,确实如此!)