Node.js请求到XML文件没有收到正确的编码格式?
我不完全确定为什么,但是我从调用一个rss提要接收数据,看起来像n F S
,这个提要是用xml格式化的。
exports.search = function(req, res) { request.get('https://secret.co/usearch/'+req.params.id+'/?rss=1', function (error, response, body) { console.log(body); if (!error && response.statusCode == 200) { parseString(body, function (err, result) { res.json(result); }); } }); };
只是在一个特定的url,我想知道如何解决这个问题,得到正确的XML?
有问题的url提供gzip编码的内容。 将请求gzip : true
添加到请求调用将解决问题:
exports.search = function(req, res) { request({ method : 'GET', url: 'https://kat.cr/usearch/scarface/?rss=1', gzip: true }, function(error, response, body) { console.log(body); if (!error && response.statusCode == 200) { parseString(body, function (err, result) { res.json(result); }); } }); };