我有一个带有简单Get的Express应用程序AXIOS(1.2.0):

const result: AxiosResponse = await axios.get('https://jsonplaceholder.typicode.com/posts')

结果.data最终变成了一个编码不正确的神秘字符串:

k�H���>������T��N.���r�H�v �_"9'?1���J��\���LA.  ��H���!�b�R� 9�܅��ڹ�K�}��%��A�v�Q*�g�dwf� ..goes long

我try 了将不同的配置添加到请求中,但没有成功. 在其他地方也找不到任何相关的帖子.

为什么会这样呢?我怎么才能修好它呢?

推荐答案

您需要在axios.get头文件中添加带有应用程序/json的Accept-Encoding.

默认为gzip

您可以在下面的代码中使用1.2

const axios = require('axios')

const getTitles = async () => {
    try {
        const resp = await axios.get(
            'https://jsonplaceholder.typicode.com/posts',
            {
                headers: {
                    'Accept-Encoding': 'application/json',
                }
            }
        );
        console.log(JSON.stringify(resp.data, null, 4));
    } catch (err) {
        // Handle Error Here
        console.error(err);
    }
};

getTitles();

结果

$ node titles.js
[
    {
        "userId": 1,
        "id": 1,
        "title": "sunt aut facere repellat provident occaecati excepturi optio r
eprehenderit",
        "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et
cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem
eveniet architecto"
    },
    {
        "userId": 1,
        "id": 2,
        "title": "qui est esse",
        "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor b
eatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut
 reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
    },
    removed

Node.js相关问答推荐

如何解决无法获得本地颁发者证书的问题

NodeJS中的Vertex AI GoogleAuthError

从目录中获取所有文件,而不是NodeJS中的单个文件

在 Docker 容器内创建一个 cron 作业(job)来执行 run.js 文件中的函数

如何在Node.js的telegraf.js命令中添加参数?

如何在 Firestore 函数上使用类型模型来获取字段值

Solidity 将数据位置从内存更改为存储

Nodejs 从链接数组中获取数据并保存到 mongodb

Typescript typeRoots 未检测到类型定义

简单的 Node js 程序但执行顺序似乎不同?

为什么我的react 表单不能正常工作?

如何在拦截器中发送不同的请求?

Node.js mongodb 驱动程序异步/等待查询

什么是nestjs错误处理方式(业务逻辑错误vs.http错误)?

Passport 登录和持久会话

如何为 node.js 服务器分配域名?

需要 node-gyp 的 npm install 在 Windows 上失败

在 Node.js 中写入 CSV

'node' 未被识别为内部或外部命令

用于轻松部署和更新的 Node.js 设置