← 返回工具箱

curl 转代码

CURL TO CODE · 开发辅助

粘贴 curl 命令,转成 fetch / axios / Python requests / Go 等代码片段;自动解析 -H、-d、--data-urlencode 等常见参数。

curl 命令
生成代码
自研 curl 子集解析(-X / -H / -d / --data-urlencode / -u / -b / -A / -e / -I 等);-F、证书、代理等复杂项会跳过并提示,绝不产出错误代码。头消解规则:显式 -H "Authorization: …" 与 -u 并存时保留 -H 那份(curl 实际会发送两条,服务端行为未定义);其他同名头按 last-wins 只保留最后一次出现的值。

>_ 使用指南 · GUIDE

把一条 curl 命令粘进来,一键转成 fetch / axios / Python requests / Go 等语言的代码片段。它会自动解析 -H、-d、--data-urlencode、-u、-b 等常见参数,把它们映射到目标语言的请求构造里。从浏览器 DevTools 的「Copy as cURL」拿到的命令,贴进来就能变成能读的代码。

了解常见参数的映射能帮你核对结果:-X 决定请求方法、-H 是请求头、-d 是请求体(并据此推断 Content-Type)、-u 是 Basic 认证、-b 是 Cookie。特别提醒 -d 与 --data-urlencode 的区别:后者会对数据做 URL 编码,两者在生成代码时的处理方式不同——若服务端期望表单编码,务必用 --data-urlencode。

典型步骤:

  1. 从 DevTools 复制 curl:在网络面板对目标请求选「Copy as cURL」
  2. 粘贴命令:整条贴进输入框
  3. 选目标语言:在 fetch / axios / Python / Go 之间切换
  4. 核对生成的头与方法:确认方法、URL 与请求头无误
  5. 复制代码:拿去放进你的项目

>_ 常见问题 · FAQ

Q1 · 支持哪些目标语言?

目前支持 fetch、axios、Python requests、Go 等常用目标。不同语言的边界处理略有差异(如 Go 需要手动构造请求体读取器),生成结果已尽量贴近各语言的惯用写法,粘进项目后通常只需微调变量名。

Q2 · -d 和 --data-urlencode 有什么区别?

-d 会把数据按原样作为请求体发送,默认多为表单内容;--data-urlencode 则会在发送前对数据进行 URL 编码,适合含特殊字符或中文的参数。转换时两者会生成不同的构造方式,若服务端期望已编码的表单数据,请务必确认命令里用的是 --data-urlencode。

Q3 · 转出来的代码能直接用吗?

基本可以直接用,但请注意两点:一是代码里会包含原命令中的 URL、请求头与 body,可能含有 token 等敏感信息,安全起见别直接提交;二是复杂参数(如文件上传、证书、代理)可能未被支持,生成结果会提示跳过,需要你手动补齐。

Q4 · 复杂的 curl 参数没被识别怎么办?

工具采用自研的 curl 子集解析,覆盖 -X / -H / -d / --data-urlencode / -u / -b / -A / -e / -I 等常见项;对 -F 文件上传、证书、代理等复杂项会跳过并提示,而不是生成错误的代码。遇到未识别项时,请按提示在生成结果里手动补上对应逻辑。

Q5 · 转换过程中会真的发请求吗?

不会。转换是纯静态的文本解析与代码生成,不会向网络发起任何请求,也不会执行你粘贴的命令。你的 URL、请求头与 body 都只在本地参与解析,可以放心调试。

嵌入代码

把下面的代码复制到你的网页,即可将本工具嵌入为 iframe(自动隐藏导航与页脚)。

高度px
此工具在你的浏览器本地运行,输入内容不会上传。按 Ctrl K 可随时切换到其他工具。