登录
注册
node.js 学习社区
用Request库,除了on('data'),有没有别的方法获取原始的Buffer

撸阿

2015-02-06 16:31

Request库做爬虫,有时需要获取原始的数据Buffer,我现在是这么干的:


var request = require('request');
var iconv = require('iconv-lite');
var BufferHelper = require('bufferhelper');
var buffer = new BufferHelper();

request(opts, function (err, response, res) {
       var html = iconv.decode(buffer.toBuffer(), encoding);
       //...
    }).on('data', function (data) {
        buffer.concat(data);
    });

就想问问,有没有更便捷的方法,不用引库就能返回原始未解码的Buffer

回复 · 1

  • 猜你是为了中文转码吧,Request的encoding参数置为null,就能返回原始Buffer(假设是GB2312:

    var request = require('request'),iconv=require('iconv-lite');
    
    request({uri:reqUrl,gzip:true,encoding:null}, function(err, response, body) {
        //body就是Buffer
        console.log(iconv.decode(body,'gb2312'));
    });

    2

发表回复

你可以在回复中 @ 其他人