aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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