nodejs 怎么使用gunzip函数?
最近google用不上,一直找不到准确的对zlib用法的示例,官网API里面提到的example貌似都不管用。 对于Gunzip这个方法到底怎么用的?哪个大神会?我的node是0.10.26的,应该不算老吧,但是用下面这种格式数据怎么都出不来。 zlib.gunzip(buf, [options], callback).
PS,我在写一个自动登录的脚本,设置response 的 encoding是gzip的。
1 回复
var responseString = '', encoding = res.headers['content-encoding'];
if( encoding === 'undefined'){
res.setEncoding('utf-8');
}
gunzip.on('data', function (chunk) {
responseString += chunk.toString();
});
gunzip.on('end', function () {
var buffer = Buffer.concat(responseString);
if (encoding == 'gzip') {
zlib.gunzip(buffer, function (err, decoded) {
data = decoded.toString();
callback(err,res.headers, data);
});
}
else {
data = buffer.toString();
callback( null,res.headers, data);
}