aboutsummaryrefslogtreecommitdiffstats
path: root/examples/modify_response_body.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-07-26 00:44:03 +0200
committerMaximilian Hils <git@maximilianhils.com>2014-07-26 00:44:03 +0200
commit41f49ff0d4932098ddd4eaae715e7ee141ca02e4 (patch)
tree709a4156b88e292dbfa5faf64a8b1f9dc82325aa /examples/modify_response_body.py
parentc7425f42db5f2bf300afc01d29e5a6fb2b2dfb2b (diff)
downloadmitmproxy-41f49ff0d4932098ddd4eaae715e7ee141ca02e4.tar.gz
mitmproxy-41f49ff0d4932098ddd4eaae715e7ee141ca02e4.tar.bz2
mitmproxy-41f49ff0d4932098ddd4eaae715e7ee141ca02e4.zip
add example how to replace response body contents
Diffstat (limited to 'examples/modify_response_body.py')
-rw-r--r--examples/modify_response_body.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/examples/modify_response_body.py b/examples/modify_response_body.py
new file mode 100644
index 00000000..3d485a7a
--- /dev/null
+++ b/examples/modify_response_body.py
@@ -0,0 +1,18 @@
+# Usage: mitmdump -s "modify_response_body.py mitmproxy bananas"
+# (works best with --anticache)
+
+import sys
+from libmproxy.protocol.http import decoded
+
+
+def start(ctx, argv):
+ if len(argv) != 3:
+ ctx.log('Usage: -s "modify-response-body.py old new"')
+ sys.exit(1)
+ global old, new # In larger scripts, a centralized options object (as returned by argparse) is encouraged
+ old, new = argv[1:]
+
+
+def response(ctx, flow):
+ with decoded(flow.response): # automatically decode gzipped responses.
+ flow.response.content = flow.response.content.replace(old, new) \ No newline at end of file