# har_dump.py import json from mitmproxy import ctx def done(): har = { "log": { "version": "1.2", "creator": {"name": "mitmproxy custom", "version": "1.0"}, "entries": [] } } for flow in ctx.master.view: if flow.request: entry = { "request": { "method": flow.request.method, "url": flow.request.url, "headers": [[k, v] for k, v in flow.request.headers.items()], "bodySize": len(flow.request.raw_content or b""), }, "response": { "status": flow.response.status_code if flow.response else 0, "headers": [[k, v] for k, v in (flow.response.headers.items() if flow.response else [])], "bodySize": len(flow.response.raw_content or b"") if flow.response else 0, } } har["log"]["entries"].append(entry) with open("output.har", "w") as f: json.dump(har, f, indent=2)