在 node.js 中从 url 读取 xml 文件:编码问题
Read xml file from url in node.js: encoding problem
我想使用下一个代码从 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�
编码似乎有问题,但我无法识别编码并修复它。在浏览器中 xml 输出是正确的
使用 curl
访问端点会得到乱码数据,而不是 XML。查看 headers,content-encoding 设置为 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.
}
}
);
我想使用下一个代码从 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�
编码似乎有问题,但我无法识别编码并修复它。在浏览器中 xml 输出是正确的
使用 curl
访问端点会得到乱码数据,而不是 XML。查看 headers,content-encoding 设置为 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.
}
}
);