curl 转 Node.js 转换器

在你的浏览器中即时将 curl 命令转换为 Node.js axios 代码。命令留在你的设备上。

你的 curl 命令在浏览器本地转换为 Node.js,绝不会上传,但请避免将真实的生产令牌或凭据粘贴到任何工具中。

更喜欢浏览器的 fetch API?试试 cURL 转 Fetch。

关于 curl 转 Node.js

这款 curl 转 node 转换器会把一个 curl 命令改写为一份围绕 axios 构建的 Node.js 脚本,而 axios 正是大多数 Node 项目已经依赖的请求库。作为 curl 转 axios 工具,它会解析 -X、-H、-d、--data-raw、--json、-u、-b 和 -G 等标志,然后组装一个带 method、url、headers 和 data 的配置对象,让请求随时可发。有效的 JSON 请求体会变成 data 字段上的真正 JavaScript 对象,由 axios 用正确的 Content-Type 序列化并发送,而表单和原始请求体则保持为字符串。该代码用 then/catch 处理器调用 axios(config),记录状态和响应,因此能直接放进脚本或服务中。转换在你的浏览器中运行,因此命令及其中的任何令牌都在你的设备上本地处理,绝不会离开它。

功能特性

如何使用 curl 转 Node.js

  1. 将你的 curl 命令粘贴到 cURL 命令框中。
  2. 在输出面板中查看生成的 Node.js axios 脚本。
  3. 查看警告横幅,了解被调整或跳过的标志。
  4. 点击「复制」,或将文件下载为 request.js。

示例

输入

curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada"}'

输出

const axios = require('axios');

const config = {
    method: "post",
    url: "https://api.example.com/users",
    headers: {
        "Content-Type": "application/json",
    },
    data: {
        "name": "Ada"
    },
};

axios(config)
    .then((response) => {
        console.log(response.status);
        console.log(JSON.stringify(response.data));
    })
    .catch((error) => {
        console.error(error.response ? error.response.data : error.message);
    });

JSON 请求体变成 data 上的一个真正对象,由 axios 替你序列化。

常见错误与故障排除

常见问题

如何将 curl 命令转换为 Node.js?
将 curl 命令粘贴到输入框中,转换器会在右侧呈现一份 Node.js axios 脚本,你可以复制它或下载为 request.js。
输出使用 axios 还是内置的 fetch?
它使用 axios 并生成一个 axios(config) 调用。请先用 npm install axios 安装它;如果你更喜欢 fetch,请改用 cURL 转 Fetch 工具。
JSON 请求体在 axios 配置中如何表示?
有效的 JSON 请求体会作为一个 JavaScript 对象放在 data 字段上,请求运行时 axios 会序列化它并设置 JSON 的 Content-Type。
生成的代码能在较旧的 Node 版本上运行吗?
可以。它使用 CommonJS 的 require() 和 axios,因此在任何已安装 axios 的 Node 版本上都能运行,无需依赖内置的 fetch。
我把 curl 转换为 Node.js 时命令会被上传吗?
不会。curl 转 node 的转换完全在你的浏览器中运行,因此命令及其中的任何凭据都留在你的设备上。

相关工具

全部 ArrayKit 工具