nodejs-fetch请求结果中文乱码

    啰嗦事情的起因吧,最近在接入某美的影片接口,按照他们提供的文档试了一个接口,返回的是gbk编码的xml,服务端用的是nodejs,试了各种编码转换依然没有解决问题,相信努力总会有回报的,参考了https://www.oschina.net/code/snippet_1052456_26611,这篇文章,作者封装了原生的http请求,而没有用fetch,其实看到它这篇文章的时候几乎已经放弃了希望,奢求某美能改下返回的编码格式。

httpHelper.js ~ 5KB  下载


var httpHelper = require("../utils/httpHelper");

var requestPromise = await new Promise((resolve, reject) => {
      httpHelper.get(url_get, 10000, function (err, data) {
        resolve(data);
      }, 'gbk', {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36'
      });
    }).then(function (data) {
      xml2js.parseString(data, function (err, result) {//xml转json部分,重点在上边
        if (result.response == null) {
          return null;
        } else {
          dataarray = result.response;
         
        }
      });
    }, function (error) {
      think.logger.debug("请求错误" + error.toString());
    });
非常感谢https://www.oschina.net/code/snippet_1052456_26611的作者

你可能感兴趣的:(nodejs)