insomnia中可导出har文件归档api交互:一、右键history记录选“export as har”;二、配浏览器代理联动捕获全链路;三、用insomnia-exporter cli批量导出;四、脚本预处理环境变量后构造标准har。

如果您在Insomnia中完成了一组API请求调试,希望将完整的网络交互过程保存为标准格式以便归档、协作或后续分析,则可导出为HAR文件。HAR(HTTP Archive)是一种通用的JSON格式,完整记录了请求方法、URL、头信息、请求体、响应状态码、响应内容及时间戳等细节。以下是导出HAR格式请求记录的具体操作步骤:
一、通过Insomnia内置功能导出HAR文件
Insomnia原生支持将当前工作区中的请求历史或选定请求导出为HAR格式,该方式适用于已执行并保留在“History”面板中的请求记录。
1、启动Insomnia并确保已完成目标请求的发送,使其出现在左侧“History”面板中。
2、右键点击“History”面板中任意一条或多条请求记录,在弹出菜单中选择Export as HAR选项。
3、在系统弹出的保存对话框中,指定文件名与存储路径,确认后生成扩展名为.har的JSON文件。
4、导出的HAR文件可直接用浏览器开发者工具、在线HAR分析器或代码解析工具打开验证。
二、使用插件或扩展辅助导出完整会话HAR
当需要捕获包含重定向、WebSocket握手、Cookie变更等完整链路行为时,Insomnia桌面版自身不主动监听底层网络栈,因此需借助外部代理或浏览器联动实现全量HAR捕获。此方法适用于需还原真实用户端行为的场景。
1、在Chrome或Edge浏览器中打开开发者工具(F12),切换至“Network”标签页。
2、勾选Preserve log以防止页面跳转清空记录。
3、在Insomnia中配置代理:进入Preferences → Proxy,启用HTTP代理并设置为127.0.0.1:8080(与浏览器代理一致)。
4、在浏览器中执行对应操作(如登录、提交表单),所有经由Insomnia转发的请求将同步显示于浏览器Network面板。
5、右键Network面板空白处,选择Save all as HAR with Content,完成HAR文件导出。
三、通过命令行工具批量导出历史记录为HAR
对于自动化流程或CI/CD集成需求,可调用Insomnia官方CLI工具insomnia-exporter(需单独安装)将指定工作区的历史数据导出为HAR格式,避免手动交互。
1、在终端中执行命令安装导出工具:npm install -g insomnia-exporter。
2、获取当前Insomnia数据库路径:Windows默认位于%APPDATA%\Insomnia\config.json,macOS为~/Library/Application Support/Insomnia/config.json,Linux为~/.config/Insomnia/config.json。
3、运行导出命令:insomnia-exporter --db-path
4、检查输出目录下是否生成有效HAR文件,可通过jq '.log.entries | length'验证条目数量是否非零。
四、从Insomnia环境变量与请求组合构造自定义HAR
当Insomnia中存在大量带环境变量引用的请求(如{{baseUrl}}/{{endpoint}}),而导出的HAR未自动展开变量时,可借助脚本预处理请求对象,再序列化为标准HAR结构。该方法适用于需确保HAR中URL与Header完全展开、便于离线复现的测试归档。
1、在Insomnia中点击File → Export → Insomnia v4,导出当前工作区为JSON格式。
2、使用Python脚本加载该JSON,遍历resources中所有request类型对象,调用Insomnia变量解析逻辑(或模拟env替换)填充实际值。
3、按HAR规范构建log.entries数组,每个entry包含request、response、startedDateTime、time等字段,其中response部分可填入mock状态码与空body以满足格式要求。
4、将最终字典结构用json.dump写入文件,并保存为requests.har。











