CNode

nodejs 怎么使用gunzip函数?

MMorn发布于12 年前最后回复9 年前1 回复5469 浏览0 收藏

最近google用不上,一直找不到准确的对zlib用法的示例,官网API里面提到的example貌似都不管用。 对于Gunzip这个方法到底怎么用的?哪个大神会?我的node是0.10.26的,应该不算老吧,但是用下面这种格式数据怎么都出不来。 zlib.gunzip(buf, [options], callback).

PS,我在写一个自动登录的脚本,设置response 的 encoding是gzip的。

查看回复

回复 (1)

J
jiazurongyu2015#1·9 年前
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);
        }
参与回复
登录后即可参与回复。登录