安装插件request,iconv-lite。zlib內置。
1、设置请求参数中的encoding为null,这样传入回调函数中的body将是一个buffer。(默认为utf8编码)
2、用zlib.gunzip()方法对body进行解压,解压的到的依然是个buffer。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
request({ uri: url,
method: ‘GET‘ ,
timeout: 5000,
encoding: null
}, function (error, response, body){
if (!error && response.statusCode == 200) {
if (response.headers[ ‘content-encoding‘ ] == ‘gzip‘ ){
zlib.gunzip(body, function (err, dezipped){
callback(dezipped);
});
} else
{
callback(body);
}
}
}); |
3、将特定编码的buffer用iconv.decode()方法解码为string。
1
|
var
data = iconv.decode(data, ‘gbk‘ );
|