请求模块返回Unicode字符

时间:2019-01-26 21:06:26

标签: node.js request

我正在尝试使用node.js中的 request 模块获得正常响应 而且我有问题要从amazon.com获得响应作为正常字符串 我不知道为什么,但是我只对amazon.com有问题(例如amazon.it,amazon.co.uk确实返回正常字符串)。

const request = require('request');

request.get(
    { 
        uri: 'https://www.amazon.com',
        encoding: 'utf-8'
    },
    function (error, response, body) {
        console.log(body)
});

上面的代码返回如下内容:  b��╝��W>�S�Uk��z�= 8〜r����9| r | P ^?}po╗��l���ߋ�t`ޜ^]��n !�� �U�>>>> @@wz�.O�����Oo��������y���g�N�/��{����_> �������=s���w?�z��_W)i؃� ��;���2��9<�0ٷ8���� <=�ϱ��ղ��3�=(�“�ԯ;;�3��=�8�2; = �����28����#+,3��0''   �...

1 个答案:

答案 0 :(得分:1)

Amazon返回的响应已压缩。您必须为请求提供gzip选项。

const request = require('request');

request.get(
    {
        uri: 'https://www.amazon.com',
        gzip: true,
    },
    function (error, response, body) {
        console.log(body)
});