http.get解析错误代码:' HPE_UNEXPECTED_CONTENT_LENGTH'仅限于Windows机器

时间:2017-02-21 10:03:02

标签: node.js windows http

您好我在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);
})

请提前帮助我。

1 个答案:

答案 0 :(得分:0)

有点晚了,但如果有人发现它 - 错误可能来自服务器发回的重复内容长度错误。 作为一种解决方法,请尝试https://github.com/creationix/http-parser-js - 这解决了我的问题。 加 process.binding(' http_parser')。HTTPParser = require(' http-parser-js')。HTTPParser; 当你的客户开始。