node.js - Websocket 431 错误 : Unexpected server response

标签 node.js websocket socket.io binance

我一直在为自己构建一个应用程序来扫描某些泵等,我需要 1h 和 5m 蜡烛数据来跟踪此类事件。该代码工作正常,直到出现 431 错误:意外的服务器响应。我正在使用 c9 进行编码,但我读到这可能是 websocket 必须同时处理许多请求。所以我尝试在那里放置一个 setInterval() ,但仍然是同样的错误。

对代码以及如何解决该问题有什么建议吗?

var market1h = 'not yet defined';
var market5m = 'not yet defined';

binance.prevDay(false, (error, prevDay) => {
    let markets = [];
    for ( let obj of prevDay ) {
        let symbol = obj.symbol;
        markets.push(symbol);
    }
    setInterval(get1hData, 1500);
    setInterval(get5mData, 1200);

    function get1hData(){
        binance.websockets.candlesticks(markets, '1h', (candlestickData) => {
        let tick = binance.last(candlestickData);
        market1h = candlestickData[tick];
        io.emit('market1h', market1h);
        });
    }
    function get5mData(){
        binance.websockets.candlesticks(markets, '5m', (candlestickData) => {
        let tick = binance.last(candlestickData);
        market5m = candlestickData[tick];
        io.emit("market5m", market5m);
        });
    }
});

最佳答案

strlen(url.path) 是我的转折点。

strlen 7929 = 成功

strlen 7942 = 失败

我没有找到任何关于 431 响应的官方文档。 如果我不得不猜测:前端服务器拒绝超过一定大小的网址;并且不要将其发送到后端服务器进行处理。

更新:

431 Request Header Fields Too Large response status code indicates that the server is unwilling to process the request because its header fields are too large.

引用:https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/431

关于node.js - Websocket 431 错误 : Unexpected server response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55200130/

相关文章:

node.js - 忽略所有字段(键)进入 Mongo 查找

javascript - Guard 不在 nestJs 中执行 passport 策略

node.js - socket.io 与 Node 集群仅长轮询有效

javascript - Socket.io 中的 `.acks` key 是什么

node.js - 执行请求期间 Node CLS 上下文丢失

javascript - 异步/等待函数返回未定义?

node.js - Bower:安装后 "command not found"

python - 在 python 中使用 websocket 客户端作为类

node.js - 如何在销毁套接字之前发送错误

node.js - 使用Nginx作为nodejs的反向代理忽略websockets