如何将打开 gzip 文件的结果转换为字符串

浦岛启太郎
 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

我只想看到纯字符串。我怎么做?

罗伯特克莱普

我希望该设置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();
  ...
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章