为什么我向外部API发出的AWS Lambda Axios请求会返回编码字符?

jaxagkaj  于 2022-12-12  发布在  iOS
关注(0)|答案(1)|浏览(99)

我尝试使用Axios在AWS lambda函数中调用外部API,并得到一些奇怪的(unicode?)字符作为响应数据,如“V?LQ?R2577”,尽管调用似乎工作正常,并在普通的快递服务器或 Postman 中返回JSON
我尝试在AWS lambda函数中使用axios调用外部API,如下所示

let response = await axios.post(
      'https://jira.com/rest/api/2/issue', 
      payload, 
      {
        auth: {
          username: process.env.JIRA_USER,
          password: process.env.JIRA_PASS
        },
      },
    );

console.log(response.data)

响应数据打印如下�V�LQ�R25771�́bũ9i@�����b+}��̢D#ݒ��������J���\�"��~bA���~fqqi�>��Z����e
如果我在Postman或Express服务器中进行相同的调用,我会得到如下响应:

{
    "id": "5774175",
    "key": "PROJECT-114",
    "self": "https://jira.com/rest/api/2/issue/5774175"
}

我不知道为什么我只在AWS lambda中得到这些特殊字符。我想解析JSON响应

jchrr9hc

jchrr9hc1#

axios 1.2.x有一个bug。下面是我如何在不降级的情况下修复它的。

import _axios from "axios";

const axios = _axios.create({
    headers: {
        'Accept-Encoding': '*',
    }
})

相关问题