由带问号的菱形字符填充的响应编码,Express、Axis和Node

xdnvmnnf  于 2022-11-29  发布在  Node.js
关注(0)|答案(1)|浏览(130)

我目前正在使用express、node和prisma来创建服务器,但是每当我使用axios向另一个API请求GET请求时,响应数据都包含带问号的菱形字符。我已经将charset和responseEncoding指定为utf-8,但这并没有解决任何问题。有什么建议吗?

import axios from "axios";

export function xola() {
  const options = {
    method: "GET",
    url: "https://sandbox.xola.com/api/categories",
    headers: {
      accept: "application/json",
      "X-API-VERSION": "2017-06-10",
    },
    charset: "utf8",
    responseEncoding: "utf8",
  };

  axios
    .request(options)
    .then(function (response) {
      console.log(response.data);
    })
    .catch(function (error) {
      console.error(error);
    });
}

uwopmtnx

uwopmtnx1#

我建议检查您的axios库的版本。
看起来axios的最新version 1.2.0在响应解压缩逻辑中有变化,如果服务器不设置响应内容长度头,它就不起作用。如果是这种情况-只是暂时降级到最后的stable version1.2.3,即:

npm i axios@1.1.3

更新

看起来添加标题'Accept-Encoding': 'identity'解决了一个问题,而无需降级

相关问题