HAR export
Click Export HAR in the captures view header. A save dialog opens;
pick a location and ProxyPro writes a .har file.
The HAR format is supported by:
- Chrome DevTools — Network panel → right-click → Import HAR file
- Firefox DevTools — Network panel → cog → Import HAR
- Charles — File → Import Session
- Various third-party HAR viewers (HAR Analyzer, etc.)
What’s exported
| Flow kind | Exported? | Notes |
|---|---|---|
| HTTP/1.1 | ✅ | Full request + response, headers, body |
| HTTP/2 | ✅ | Treated as h1-like in HAR (the spec predates h2) |
| WebSocket | ❌ | No canonical HAR mapping; flow appears with _proxypro.kind = 'websocket' |
| gRPC | ❌ | Same |
Per-flow metadata we add (under HAR’s _proxypro extension):
flowId— stable across captureskind— the original Flow.kind so external tools can preserve our classification
Body encoding
- Text bodies (UTF-8 decodable, no excessive control chars) — exported
inline as
entry.response.content.text. - Binary bodies — base64-encoded with
entry.response.content.encoding = "base64". Compatible with all major HAR viewers.
Bodies bigger than the engine’s 64KiB inline cap appear as empty content with the correct size. P06.5 will wire on-demand body fetch into the export.
What’s not exported
- Bodies parked in the LRU (over 64KiB) — empty in v0.1.0 HAR. P06.5 fetches them.
- Request timing breakdown — we only have
start,request_done,response_done. HAR’stimings.waitis approximated. - Cookies as structured fields — HAR’s
cookiesarray is empty; the rawCookie:/Set-Cookie:headers are present so most viewers display them anyway.
Privacy
Sharing tip
For sharing a single flow with a colleague:
- Right-click the flow → (planned: “Copy as HAR entry”)
- Paste into a private Slack DM or gist.
For now: export the whole session and tell them which flow ID matters.
HAR import
Not yet — P06.5 reads a .har into an offline read-only session.