我一直在为自己构建一个应用程序来扫描某些泵等,我需要 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/