用node做爬虫,爬到一半的时候报错

如题,在爬到一部分到html内容后,node会在req中报错,提示为:HPE_INVALID_CONSTANT

网上找了很多东西,都说是res的header中Content-Type设置为application/json , 但是我也打印了res.header, 它的Content-Type并不是这个,而是正确的text/html

我用的是http模块中的http.get(url, callback()) 方法来实现的爬虫功能.

问题代码如下:

var http = require('http');
var req = https.get(url, function(res) {
    var html = '';    
    res.on('data', function(data){        
        // console.log('response.headers: '+res.headers);        
        html += data;    
    });     
    res.on('end', function(){
        //此处html代码应该显示完整的html内容,但只打印出前一部分的内容。就连body和head的闭合标签都没有显示
        console.log(html);    
    });
}).on('error', function(err){
    // console.log('request.headers: '+res.headers);
    console.log('获取文件出错。'+JSON.stringify(err));
});


root丶Dima
浏览 3331回答 3
3回答

_潇潇暮雨

能上下完整的代码么?

root丶Dima

出问题的代码如下:var http = require('http'); var req = https.get(url, function(res) {     var html = '';     res.on('data', function(data){         // console.log('response.headers: '+res.headers);         html += data;     });     res.on('end', function(){         //此处html代码应该显示完整的html内容,但只打印出前一部分的内容。就连body和head的闭合标签都没有显示         console.log(html);     }); }).on('error', function(err){     // console.log('request.headers: '+res.headers);     console.log('获取文件出错。'+JSON.stringify(err)); });
打开App,查看更多内容
随时随地看视频慕课网APP