diff options
author | Tai Dickerson <tdickers@akamai.com> | 2016-06-14 12:47:10 -0400 |
---|---|---|
committer | Tai Dickerson <tdickers@akamai.com> | 2016-06-14 12:47:10 -0400 |
commit | c2d0910e593faf34bae37f5c9b5cfaae509bdf8c (patch) | |
tree | 55e9a880081f6b129917d6d9d45be21b4bf1225e | |
parent | a63817f2b8539cab0b645e0eda772daeaf898ed3 (diff) | |
download | mitmproxy-c2d0910e593faf34bae37f5c9b5cfaae509bdf8c.tar.gz mitmproxy-c2d0910e593faf34bae37f5c9b5cfaae509bdf8c.tar.bz2 mitmproxy-c2d0910e593faf34bae37f5c9b5cfaae509bdf8c.zip |
Make har_extractor.py output HAR 1.2 spec-compliant
HAR files were failing to load in harviewer (http://www.softwareishard.com/har/viewer/) due to:
- ISO 8601 dates for startedDateTime missing timezone (http://www.softwareishard.com/blog/har-12-spec/#pages)
-- Used UTC but could add detection of default system timezone if desired
- pages object missing pageTimings (http://www.softwareishard.com/blog/har-12-spec/#pageTimings)
-- Used {} because all child fields are optional
-rw-r--r-- | examples/har_extractor.py | 4 | ||||
-rw-r--r-- | test/mitmproxy/data/har_extractor.har | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/examples/har_extractor.py b/examples/har_extractor.py index c21f1a8f..d6b50c21 100644 --- a/examples/har_extractor.py +++ b/examples/har_extractor.py @@ -4,6 +4,7 @@ """ import six import sys +import pytz from harparser import HAR from datetime import datetime @@ -120,7 +121,7 @@ def response(context, flow): full_time = sum(v for v in timings.values() if v > -1) started_date_time = datetime.utcfromtimestamp( - flow.request.timestamp_start).isoformat() + flow.request.timestamp_start).replace(tzinfo=pytz.timezone("UTC")).isoformat() request_query_string = [{"name": k, "value": v} for k, v in flow.request.query or {}] @@ -174,6 +175,7 @@ def response(context, flow): "startedDateTime": entry['startedDateTime'], "id": page_id, "title": flow.request.url, + "pageTimings": {} }) ) context.HARLog.set_page_ref(flow.request.url, page_id) diff --git a/test/mitmproxy/data/har_extractor.har b/test/mitmproxy/data/har_extractor.har index 6b5e2994..d80dc55f 100644 --- a/test/mitmproxy/data/har_extractor.har +++ b/test/mitmproxy/data/har_extractor.har @@ -10,15 +10,16 @@ }, "pages": [ { - "startedDateTime": "1993-08-24T14:41:12", + "startedDateTime": "1993-08-24T14:41:12+00:00", "id": "autopage_1", - "title": "http://address:22/path" + "title": "http://address:22/path", + "pageTimings": {} } ], "entries": [ { "pageref": "autopage_1", - "startedDateTime": "1993-08-24T14:41:12", + "startedDateTime": "1993-08-24T14:41:12+00:00", "cache": {}, "request": { "cookies": [], |