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),记录状态和响应,因此能直接放进脚本或服务中。转换在你的浏览器中运行,因此命令及其中的任何令牌都在你的设备上本地处理,绝不会离开它。
功能特性
- 构建一个带 method、url、headers 和 data 的 axios 配置对象
- 按 axios 期望的方式将 HTTP 方法转为小写
- 将有效的 JSON 请求体变成 data 字段上的一个 JavaScript 对象
- 将表单编码或原始请求体保持为字符串,从而不会被双重编码
- 将 -u/--user 映射为 Basic 认证头,并处理 cookie、user-agent 和 referer
- 将 -G/--get 的数据作为查询字符串追加到 URL
- 添加 then/catch 处理器,记录状态以及响应或错误
- 一键复制结果或将其下载为 request.js
如何使用 curl 转 Node.js
- 将你的 curl 命令粘贴到 cURL 命令框中。
- 在输出面板中查看生成的 Node.js axios 脚本。
- 查看警告横幅,了解被调整或跳过的标志。
- 点击「复制」,或将文件下载为 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 替你序列化。
常见错误与故障排除
- 运行脚本时抛出 Cannot find module 'axios'。 — 先用 npm install axios 安装依赖;生成的代码使用第三方 axios 客户端。
- 你更喜欢 ES 模块而非 require()。 — 把 const axios = require('axios') 换成 import axios from 'axios',并在 package.json 中设置 "type": "module",或将文件重命名为 .mjs。
- 表单请求体显示为带引号的字符串,而不是对象。 — 对于非 JSON 请求体这是有意为之,以免 axios 重新编码它们。用 --json 或 JSON 的 Content-Type 发送请求即可得到一个解析后的对象。
常见问题
- 如何将 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 工具