您好我在Windows机器上运行的nodejs代码中执行http get请求但是相同的代码在Linux机器上正常工作。但是我收到了像
这样的错误 Error: Parse Error
at Error (native)
at Socket.socketOnData (_http_client.js:359:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:172:18)
at Socket.Readable.push (_stream_readable.js:130:10)
at TCP.onread (net.js:542:20) bytesParsed: 220, code:
'HPE_UNEXPECTED_CONTENT_LENGTH'
我的要求是
http.get('http://192.168.6.102/web/data/abc.json', function(res) {
var flatresponse = res;
// console.log("success::",flatresponse);
var body = '';
statusCode = res.statusCode;
console.log("In get data.json",res.statusCode,res.headers);
res.on('data', function(chunk) {
body += chunk;
console.log("In get body chunk",body);
});
res.on('end', function() {
try{
if(statusCode == 200){
console.log("In get body chunk",JSON.parse(body));
}
}catch(e){
console.log("Exp::",e);
}
});
}).on('error',function(err){
console.log("error:::",err);
})
请提前帮助我。
答案 0 :(得分:0)
有点晚了,但如果有人发现它 - 错误可能来自服务器发回的重复内容长度错误。 作为一种解决方法,请尝试https://github.com/creationix/http-parser-js - 这解决了我的问题。 加 process.binding(' http_parser')。HTTPParser = require(' http-parser-js')。HTTPParser; 当你的客户开始。