通过Tungstenite WebSocket API建立与Binance的连接时出错

ar7v8xwq  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(194)

我 正在 尝试 使用 以下 代码 建立 与 binance websocket 服务 器 的 连接 :

use tungstenite::{connect, Message};
use url::Url;

fn main() {
    let (mut socket, response) =
        connect(Url::parse("wss://stream.binance.com:9443/ws/BNBBTC@aggTrade").unwrap()).expect("Can't connect");

    println!("Connected to the server");
    println!("Response HTTP code: {}", response.status());
    println!("Response contains the following headers:");
    for (ref header, _value) in response.headers() {
        println!("* {}", header);
    }
}

中 的 每 一 个
其中 Cargo.toml 包含 :

[dependencies]
tungstenite = "0.17.3"
url = "2.3.1"

格式
我 收到 错误 :

thread 'main' panicked at 'Can't connect: Http(Response { status: 400, version: HTTP/1.1, headers: {"server": "awselb/2.0", "date": "Sat, 22 Oct 2022 20:23:40 GMT", "content-type": "text/html", "content-length": "220", "connection": "close"}, body: None })', src/main.rs:6:90
stack backtrace:
   0: rust_begin_unwind
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/panicking.rs:142:14
   2: core::result::unwrap_failed
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/result.rs:1814:5
   3: core::result::Result<T,E>::expect
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/result.rs:1064:23
   4: untitled12::main
             at ./src/main.rs:6:9
   5: core::ops::function::FnOnce::call_once
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

格式
这个 错误 背后 的 原因 是 什么 ? 我 遗漏 了 什么 ? 这 看 起来 像 是 一 个 错误 的 请求 错误 , 但是 根据 binance websocket API , 我 的 请求 应该 是 格式 良好 的

ujv3wf0j

ujv3wf0j1#

默认情况下,tungstenite没有启用TLS,所以我必须在Cargo.toml中启用TLS:

tungstenite = { version = "0.17.3", features = ["native-tls"] }

相关问题