Hoppscotch支持四种HAR文件导入方法:一、本地文件选择器导入;二、远程URL拉取导入;三、cURL命令行生成后上传;四、Chrome导出后预处理再导入,均需确保HAR结构规范并含有效请求上下文。

如果您拥有通过浏览器开发者工具录制生成的HAR文件,并希望将其完整还原为Hoppscotch中的可执行请求,则需确保该HAR文件符合结构规范且包含有效请求上下文。以下是多种可行的HAR文件导入方法:
一、通过文件选择器直接导入HAR
此方法适用于本地已保存的HAR文件,Hoppscotch会自动解析其中的entry.request.queryString并转换为结构化参数数组,同时还原HTTP方法、URL、Headers及Body内容。
1、点击左侧边栏“Collections”区域右上角的“+”号按钮,展开集合操作菜单。
2、选择“Import collection”选项,进入导入界面。
3、在文件导入区域点击“Choose file”,或直接将HAR文件拖入指定区域。
4、确认所选文件后,系统自动校验格式;若检测到application/json MIME类型且含log.entries字段,则标记为有效HAR源。
5、点击“Import”按钮,所有请求将按原始顺序生成为独立请求项,每个请求的query参数将严格映射至HoppRESTParams数组结构。
二、通过URL远程导入HAR文件
当HAR文件托管于公开可访问的网络地址(如GitHub Gist原始链接、CDN或内部文档服务器)时,可跳过本地上传步骤,直接拉取并解析。
1、在导入界面切换至“URL”标签页。
2、在输入框中粘贴HAR文件的**原始内容URL**(必须以.har结尾且响应头含Content-Type: application/json)。
3、点击“Fetch & Import”,Hoppscotch发起GET请求获取文件内容。
4、服务端返回后,前端调用packages/hoppscotch-common/src/helpers/import-export/import/har.ts中的解析逻辑,逐条提取entry.request对象。
5、若URL返回404或CORS被阻止,系统将中断导入并提示“Failed to fetch HAR data”。
三、使用cURL命令行生成HAR后导入
对于无法通过图形界面操作的CI/CD环境或批量处理场景,可通过curl命令构造标准HAR结构体,再导入至Hoppscotch实例。
1、准备JSON格式的最小HAR骨架,确保包含log.version、log.creator和至少一个log.entries元素。
2、在log.entries[0].request中定义method、url、queryString(数组)、headers(数组)及postData(可选)。
3、将该JSON保存为request.har,并通过curl上传至本地运行的Hoppscotch服务(如http://localhost:3000/api/import/har)。
4、服务端接收后调用HoppRESTParams.parse()验证参数数组合法性,拒绝含空key或非字符串value的条目。
5、导入成功后,请求将出现在默认集合中,且所有active字段默认设为true。
四、从Chrome Network面板导出并预处理HAR
部分Chrome导出的HAR可能含无效字段或缺失content字段,需在导入前做轻量清洗,以适配Hoppscotch的strict schema校验。
1、打开Chrome开发者工具,切换至Network面板,清空现有记录。
2、执行目标操作,待所有请求完成,右键任意请求 → “Save all as HAR with content”。
3、用文本编辑器打开HAR文件,定位至log.entries数组,删除response.content.text为空但response.content.encoding为"base64"的条目。
4、检查每个request.queryString是否为数组格式;若为字符串(如"?a=1&b=2"),需手动拆分为[{"name":"a","value":"1"},{"name":"b","value":"2"}]。
5、保存修改后,该HAR即可通过方法一正常导入,且所有query参数将被正确注入HoppRESTParams数组。

















