从node.js中的url读取xml文件:编码问题

从node.js中的url读取xml文件:编码问题,node.js,xml,encoding,Node.js,Xml,Encoding,我想使用下一个代码从url读取xml文件: var request = require("request"); request.get( "http://regnskaber.virk.dk/27946272/ZG9rdW1lbnRsYWdlcjovLzAzLzMwLzllL2M3L2Y5LzUxYzQtNDZmNi04YzliLTdhODg1ODA0ZTdlNA.xml", function (error, response, b

我想使用下一个代码从url读取xml文件:

  var request = require("request");
  request.get(
    "http://regnskaber.virk.dk/27946272/ZG9rdW1lbnRsYWdlcjovLzAzLzMwLzllL2M3L2Y5LzUxYzQtNDZmNi04YzliLTdhODg1ODA0ZTdlNA.xml",
    function (error, response, body) {
      if (!error && response.statusCode == 200) {
        console.log(body);
        // Continue with your processing here.
      }
    }
  );
 
在输出中,我得到如下结果:

�������\D���<a>��4E��hQ�:!B��lu���u�ݶ�~^�Q�=<~��~ ���tq��#FUE+k���զj��_+��aNF�V�)M��E�O؍��V�c���c��r�n��U�����3����:�U���Fa�>�Qa\���+�����������W�;�^�FEi���F���Ū\W�9�
�������M����䯇��+�e����uvr\yR�P��mM�*��Ժ��6��^1>m�U����OV�a@ݣ8��        �3����f�>�Pp\��?���Nj�Nj����rqNZ�W[�;���O��Uw2\�O��.M�>e���4Ǵ����?F.��ώ�A;�P��oG��mS�|~ss��,(Y��JX�qJD����&W��,a��n���H��T��*Պ�an�u!&�T�R�VZ����Z����`�Y�a�
�������\D�����4E��总部�:!B��鲁���U�ݶ�~^�Q�=�质量保证\���+�����������W�;�^�菲���F���Ū\W�9�
�������M����䯇��+�E����uvr\yR�P��嗯�*��Ժ��6.��^1> m�U����奥夫�a@ݣ8��        �3.����F�>�聚丙烯\��?���Nj�Nj����rqNZ�W[�;���O��Uw2\�O��.M�>E���4Ǵ����?F��ώ�A.�P��奥格��太太�|~党卫军��,(Y)��JX�qJD����&W��,A.��N���H��T��*Պ�一�你&�T�R�VZ����Z����`�Y�A.�

编码似乎有问题,但我无法识别编码并修复它。在浏览器中,xml输出是正确的

使用
curl
来命中端点也会得到乱码数据,而不是xml。查看标题,内容编码设置为gzip。因此这对我来说很有效:

var request = require("request");
  request.get({
    method: 'GET',
    url: "http://regnskaber.virk.dk/27946272/ZG9rdW1lbnRsYWdlcjovLzAzLzMwLzllL2M3L2Y5LzUxYzQtNDZmNi04YzliLTdhODg1ODA0ZTdlNA.xml",
    gzip: true},
    function (error, response, body) {
      if (!error && response.statusCode == 200) {
        console.log(body);
        // Continue with your processing here.
      }
    }
  );

您好,很有趣,
response.headers['content-encoding']
将显示编码。这可能会引起@IronMan的兴趣,非常感谢,请求使用{gzip:true}解决问题