ProxyPin HAR 格式导出 标准流量文件分享
HAR 是什么
HAR 全称 HTTP Archive,是 W3C 定义的标准格式(基于 JSON),用于记录浏览器或应用的所有网络请求。几乎所有主流开发工具都支持:
- Chrome DevTools 网络面板可直接导出 HAR
- Firebug、Fiddler、Charles 都支持
- CI/CD 流水线中可自动生成 HAR 做性能测试
ProxyPin 导出 HAR
导出入口
选中一条或一组请求,在操作菜单中找到「导出 HAR」。或进入历史记录,导出整个会话。
导出选项
ProxyPin 的 HAR 导出支持多种粒度:
| 选项 | 说明 |
|---|---|
| 导出选中请求 | 只导出当前选中的那几条 |
| 导出当前时间范围 | 按时间段导出 |
| 导出整个历史 | 全部流量打包成一个 HAR |
| 导出为请求 + 响应 | 完整内容(推荐) |
| 只导出请求头 / 响应头 | 精简版,文件更小 |
HAR 文件里有什么
一个标准 HAR 文件(h 字段为 HAR 版本号 1.2)包含:
{
"log": {
"version": "1.2",
"creator": { "name": "ProxyPin", "version": "v1.3.3" },
"entries": [
{
"startedDateTime": "2026-10-13T10:00:00.000Z",
"time": 150,
"request": {
"method": "GET",
"url": "https://api.myapp.com/users",
"headers": [...],
"queryString": [...]
},
"response": {
"status": 200,
"headers": [...],
"content": { "mimeType": "application/json", "text": "..." }
},
"timings": {
"dns": 20, "connect": 30, "send": 5, "wait": 80, "receive": 15
}
}
]
}
}
关键数据:
timings:各阶段耗时(DNS、TCP、TLS、TTFB)content:完整请求/响应体(如有)headers:完整的请求头和响应头
谁需要 HAR 文件
场景一:Bug 复现和分享
抓包发现某个接口返回异常:
- 在 ProxyPin 中找到相关请求
- 导出 HAR 文件
- 发给后端同事
后端用 Chrome DevTools 打开 HAR 就能看到完整的请求参数、响应内容、耗时数据——比文字描述清晰一百倍。
场景二:性能分析
前端性能优化时需要知道:
- 哪些 API 最慢?
- 有没有不必要的重定向?
- 响应体大小是否合理?
导出 HAR 后用 Chrome DevTools 网络面板打开,按耗时排序一目了然。
场景三:跨工具分析
需要用其他工具分析(比如 Python 脚本批量统计请求):
import json
with open('traffic.har') as f:
har = json.load(f)
entries = har['log']['entries']
slow = [e for e in entries if e['time'] > 1000]
print(f'共 {len(entries)} 个请求,其中 {len(slow)} 个超过 1 秒')
场景四:CI/CD 集成
自动化测试中用 ProxyPin 抓包 → 导出 HAR → 断言网络条件:
- ProxyPin headless 模式启动并配置好过滤规则
- 跑自动化测试
- 导出 HAR
- 用脚本检查:有没有意外的第三方追踪请求、API 响应时间是否达标
导出 vs 截图 vs 文字
| 方式 | 信息完整度 | 可操作性 | 体积 |
|---|---|---|---|
| HAR 导出 | 完整(请求/响应/耗时/头) | ✅ 可导入工具再分析 | 中 |
| 截图 | 部分(当前画面) | ❌ 不可操作 | 小 |
| 文字描述 | 极低 | ❌ 不可操作 | 极小 |
HAR 是调试沟通的最佳格式。