1. 程式人生 > >nodejs-fetch請求結果中文亂碼

nodejs-fetch請求結果中文亂碼

    囉嗦事情的起因吧,最近在接入某美的影片介面,按照他們提供的文件試了一個介面,返回的是gbk編碼的xml,服務端用的是nodejs,試了各種編碼轉換依然沒有解決問題,相信努力總會有回報的,參考了https://www.oschina.net/code/snippet_1052456_26611,這篇文章,作者封裝了原生的http請求,而沒有用fetch,其實看到它這篇文章的時候幾乎已經放棄了希望,奢求某美能改下返回的編碼格式。

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的作者