var request = require('request')
request(
{ method: 'GET'
, uri: 'http://www.examplewebsite.com'
, gzip: true
}
, function (error, response, body) {
console.log(body); //I am trying print body here
console.log(response.body); // //I am trying print body here too
}
)
我收到的只是�V*.I,)-V�*)*M�QJI,IT��V��,.���%�E��)JV�����d��$1
如果我尝试使用JSON.stringify(body),结果是:
\u001f�\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003�V*.I,)-V�*)*M�QJI,IT��V��,.\u0001��\u0019�\u0005%�E��)JV�����\u0000d��$1\u0000\u0000\u0000
我想要的只是看到普通的字符串。我该怎么做?
答案 0 :(得分:1)
我希望设置gzip : true
会自动解压缩响应主体,但服务器可能没有设置正确的Content-Encoding
标头。
在这种情况下,你可以试试这个:
const zlib = require('zlib');
const request = require('request');
request({
method : 'GET',
uri : 'http://www.examplewebsite.com',
gzip : true,
encoding : null,
}, function (error, response, body) {
let decompressed = zlib.gunzipSync(body).toString();
...
})