HAR转cURL转换器
把浏览器HAR文件里记录的请求变成可直接运行的cURL命令——Cookie与鉴权头可一键剔除。
HAR转cURL完全在你的浏览器中运行。存档在设备上解析,其中的会话Cookie从不外泄。
打开HAR文件查看器
关于 HAR转cURL
HAR转cURL读取浏览器开发者工具导出的网络存档,把其中任何请求变成能贴进终端的命令。这是弥合"浏览器里能跑、脚本里跑不了"鸿沟的最快途径:每个请求头、方法和请求体都按浏览器发送的原样带过来。两个细节被认真对待。Shell引号采用单引号内单引号的POSIX转义,含撇号的JSON请求体不会悄悄折断命令。而HAR里照例带着仍在生效的会话Cookie,所以一个开关就能在贴进bug报告之前剔除Cookie和Authorization头。
功能特性
- 读取任意HAR导出并列出全部请求
- 按URL、方法或状态码筛选
- 转换单个请求或整个筛选结果
- 含引号或撇号的请求体采用POSIX规范引号
- 按需剔除Cookie、Authorization与API密钥头
- 丢弃浏览器托管头和HTTP/2伪头
如何使用 HAR转cURL
- 在开发者工具的网络面板选择"保存所有内容为HAR"
- 把.har文件拖到这里,或粘贴其内容
- 从列表里选一个请求,或保持"全部"转换所有
- 要分享命令就先开启剔除Cookie与鉴权,再复制
示例
输入
POST https://api.example.com/login with a JSON body
输出
curl 'https://api.example.com/login' \
-H 'Content-Type: application/json' \
--data-raw '{"user":"jo"}' \
--compressed
带请求体的POST不输出-X,因为--data已经隐含POST。
常见错误与故障排除
- 命令能跑但服务器返回401或403。 — 多半是鉴权头被剔除了,或者其中的会话已过期。关掉剔除选项,登录状态下重新导出HAR。
- 工具说这个JSON不是HAR文件。 — HAR顶层有log对象和entries数组。保存下来的响应体或复制的JSON载荷没有这个结构——用"保存所有内容为HAR"重新导出。
- 命令里缺少请求体。 — 导出时要包含内容。否则HAR只记请求头不记正文,--data-raw就无米下锅。
常见问题
- 怎么从浏览器导出HAR文件?
- 打开开发者工具,进网络面板,重现请求,然后右键任意一行选择"保存所有内容为HAR"。Chrome、Edge、Firefox和Safari都有对应功能。
- 生成的cURL命令为什么没有-X POST?
- 因为--data-raw已隐含POST,再叠加-X可能改变cURL处理重定向的方式。方法参数只在真正需要时输出,如PUT、PATCH或DELETE。
- 来自HAR的cURL命令能放心分享吗?
- 默认不能——HAR捕获了仍在生效的会话Cookie和Authorization头,等同于密码。先开启剔除选项,它会移除Cookie、Authorization和常见的API密钥头。
- 转换时HAR文件会被上传吗?
- 不会。文件完全在浏览器中解析——这很重要,因为HAR照例含有捕获的每个请求的会话Cookie和个人数据。
相关工具
全部 ArrayKit 工具