cURL

cURL 转 Fetch

将 cURL 转为 Fetch、Python requests 或 Axios 请求代码

API 与 HTTP
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年10月18日•最近复核:2026年10月18日

粘贴一条请求,可使用单引号、双引号和反斜杠续行。转换只生成代码,不发送请求。

试用示例

命令仅保留在当前页面内存中,不上传、不保存草稿。复制会写入系统剪贴板。

请求代码

适用于现代浏览器或 Node.js 18+。浏览器仍受 CORS、Cookie 和受限请求头约束;未加 -L 的跨域重定向可能只返回状态 0。

转换后在这里查看代码;切换格式或响应类型会同步更新结果。

cURL 转 Fetch 的支持范围

支持 -X / --request、-H / --header、--url、-I、-G、-L,以及 --data、--data-raw、--data-binary、--data-urlencode 的字面值。URL 编码按 UTF-8 处理;请求体保留原文,JSON 数字不会被重新解析和舍入。

文件读取、multipart 上传、Shell 变量、命令链、重复请求头和未知参数会明确报错。GET/HEAD 不携带请求体;把数据放进查询参数时使用 -G。

自动模式按 application/json 或 +json 响应头解析 JSON,其余保留为文本;空响应返回 null(Python 为 None)。JSON 模式会对非空的无效 JSON 报错。二进制下载需自行改用 Blob 或字节读取。

页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

将 cURL 转为 JavaScript Fetch、Python requests 或 Node.js Axios 请求代码。响应可以按 Content-Type 自动识别,也可指定 JSON 或文本;空响应返回 null 或 None。复制前可核对 URL、方法、请求头与原始请求体。未知参数、文件输入和 Shell 展开会停止转换并说明原因。工具只生成代码,不执行请求,不上传命令,也不保存草稿。

失败门诊(高频踩坑)

接口返回文本或没有响应内容

原因:即使 HTTP 请求成功,把空响应或普通文本交给 JSON 解析器仍然会报错。

修复:响应头准确的接口可选“自动”,文本接口可选“文本”;空响应返回 null 或 None。只有明确要求非空响应必须是 JSON 时才选择“JSON”。

生产可用片段

编码查询值,保留原有 URL 的参数与片段

text

输入:
curl 'https://api.example.com/search?sort=new#results' -G --data-urlencode 'q=hello world'

方法:GET
URL:https://api.example.com/search?sort=new&q=hello%20world#results
请求体:无

选择 Fetch、Python requests 或 Axios,再选择响应读取方式。

常见问题

为什么遇到 @file、-F 或未知参数时会停止转换?

这些参数可能改变请求含义,工具无法完整复现。当前不读取文件或标准输入,不支持 multipart 上传,也不执行 Shell 表达式。请通过 --data 或 --data-raw 提供字面请求体,并明确指定请求头;只有 --data-raw 会把开头的 @ 当作普通字符。

空响应、JSON 与普通文本怎样读取?

生成代码只读取一次响应。空文本返回 null(Python 为 None),包括常规 HEAD 和 204 响应。自动模式解析 application/json 与 +json 媒体类型,其余保留为文本;JSON 模式会对非空的无效 JSON 报错。二进制响应需要改为 Blob 或字节读取。

浏览器 Fetch 能完全复现终端 cURL 吗?

不能。浏览器受 CORS、Cookie 和部分请求头限制。使用 -L 才跟随重定向;未加 -L 时,浏览器跨域重定向可能只暴露状态 0。Python requests 和 Node.js Axios 输出需要先安装对应依赖,运行前应核对目标环境。

粘贴的令牌或命令会保存吗?

命令只保留在当前页面内存中,不上传、不执行、不保存草稿。打开新版页面时会清除旧版转换器在本地存储留下的草稿。复制会把生成代码及其中的凭据写入系统剪贴板。

继续浏览