Curl 命令转换器
把 curl 命令转成 fetch / axios / requests / Go 代码,请求头与请求体一目了然。
接口文档只给了 curl 示例,而你的项目用 axios;报障邮件里贴了一段 curl,你要在 Python 服务里复现——手工翻译 curl 是重复劳动,还容易在引号转义、默认方法、头部大小写上出错。本工具把 curl 按真实的 shell 分词规则解析(单引号、双引号、$'…'、反斜杠),归一成结构化请求,再按目标语言生成可直接运行的代码。
解析结果先以摘要形式展示——方法、URL、请求头、请求体、Basic 认证——让你确认 curl 被理解成了什么,再看生成代码。无法静默映射的标志(如 -F 的 multipart 语义)不会丢:它们出现在「无法映射」清单里,逐条说明在目标语言里该怎么补。
引号是 curl 转换的第一大坑
curl 示例里的单引号是 shell 的引用语法,JSON 请求体最外层常套单引号、内部用双引号;复制到 Windows CMD 或 PowerShell 里直接失效。本工具按 POSIX 规则分词(双引号内处理 \" 与 \\,$'…' 处理 \n\t),命令里的换行续接符(行尾反斜杠)也会正确拼接。
默认方法与隐式 POST
curl 默认是 GET,但只要带了 -d/--data,方法就变成 POST——文档里省略 -X POST 的写法很常见。工具按 curl 的真实语义推断:-d 存在且没有显式 -X 时按 POST 生成,多个 -d 按 curl 规则用 & 连接,--json 同时补上 Content-Type。
常见问题
- 支持哪些标志?
- 常用集:-X/--request、-H/--header、-d 家族(--data/--data-raw/--data-binary/--json)、-F(映射为提示)、-u/--user、-A/-e/-b(转成对应请求头)、-k、-L、-I、-G。无法识别的标志进「无法映射」清单而不是被静默丢弃。
- 带密钥的 curl 命令安全吗?
- 解析与生成都在浏览器本地完成,命令不会离开页面。但生成代码里会原样包含密钥,粘进仓库前记得改环境变量。
- 为什么 fetch 版本没有跳过证书校验的选项?
- 浏览器不允许 fetch 跳过证书校验(-k 的语义),这是安全边界。自签名环境请在系统层信任证书;生成代码里的注释说明了这一点。