node使用request进行远程访问,返回的数据是gzip压缩过的,拿到的内容打印是乱码,导致解析报错。
其他语言一般都是默认处理gzip,但是node没有处理,所以需要我们显式声明处理gzip,加上gzip:true即可,代码:
var request = require('request');
var url = 'https://xxx.com';
request.get({
url:url,
gzip: true // 加上这句即可
}, function (error, response, body) {
console.log(body)
})
这时打印的body就不是乱码了