cURL 转换:请求一键变成命令行
为什么要转 cURL
有时候你在手机上用 httpCanary 抓到了一条请求,但想在电脑终端里复现它——可能是为了用 curl 加更多参数(比如 -v 看详细输出、-H 加自定义 Header),或者把请求分享给同事用 curl 直接执行。
httpCanary 可以把抓到的请求 一键转换成 cURL 命令,复制后在电脑终端里直接粘贴运行。
操作步骤
入口
在请求详情页的右上角「更多」菜单中,找到「复制 cURL」或类似的选项。
效果
点击后,完整的 cURL 命令会复制到剪贴板。命令包含:
- 请求方法(GET/POST 等)
- 完整的 URL
- 所有请求头(-H 参数)
- 请求体内容(--data 参数)
电脑端使用
把剪贴板内容粘贴到电脑终端(Windows PowerShell / CMD / macOS Terminal / Linux Shell)直接运行即可。
示例
假设在 httpCanary 里抓到了这样一条请求:
- Method: POST
- URL:
https://api.example.com/user/login - Headers:
Content-Type: application/json,Authorization: Bearer eyJhbG... - Body:
{"username":"test","password":"123456"}
复制出来的 cURL 命令大致是:
curl -X POST 'https://api.example.com/user/login' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbG...' \
-d '{"username":"test","password":"123456"}'
直接在终端里粘贴回车,就能复现同样的请求。
常见用途
电脑端终端调试
手机屏幕小,有时候不方便精确改请求参数。转成 cURL 后在电脑上编辑命令,加 --verbose(-v)看更详细的连接信息,加 --header 临时试新 Header,加 --data 改 Body——比在手机上改高效得多。
分享给同事
同事要调试同一个接口但他那边抓不到包。你用 httpCanary 抓到请求转成 cURL 发给他,他直接在自己电脑上跑就行。
配合 Postman/Apifox
cURL 命令可以直接粘贴到 Postman 或 Apifox 中自动生成请求项目——导入后可以用 GUI 工具更方便地编辑和测试。
写测试脚本
如果需要用脚本批量测试接口,可以把 cURL 命令改写成 shell 脚本,加上循环、条件判断等逻辑。
注意事项
- Token 会过期——cURL 命令里包含的 Token 是当时抓到的,时间长了可能失效,需要手动更新
- Cookie 也会过期——同理
- HTTPS 证书验证——默认 curl 会验证证书。如果你想跳过验证(比如用了 Charles/Fiddler 的自签证书),加
-k参数 - 请求体会正确转义——httpCanary 会帮你处理好 JSON 中的特殊字符,复制出来的命令可以直接运行
- 部分版本支持 cURL 转换需要高级版——如果找不到这个功能,可能需要升级
进阶:从 cURL 生成其他格式
拿到 cURL 命令后,还可以在线工具(比如 curlconverter.com)把它转换成 Python requests、JavaScript fetch、Go http 等其他编程语言的 HTTP 请求代码。这在写自动化测试脚本时特别方便。