aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/examples/modify_response_body.py
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/examples/modify_response_body.py')
-rw-r--r--mitmproxy/examples/modify_response_body.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/mitmproxy/examples/modify_response_body.py b/mitmproxy/examples/modify_response_body.py
new file mode 100644
index 00000000..a35e1525
--- /dev/null
+++ b/mitmproxy/examples/modify_response_body.py
@@ -0,0 +1,18 @@
+# Usage: mitmdump -s "modify_response_body.py mitmproxy bananas"
+# (this script works best with --anticache)
+from libmproxy.models import decoded
+
+
+def start(context, argv):
+ if len(argv) != 3:
+ raise ValueError('Usage: -s "modify-response-body.py old new"')
+ # You may want to use Python's argparse for more sophisticated argument
+ # parsing.
+ context.old, context.new = argv[1], argv[2]
+
+
+def response(context, flow):
+ with decoded(flow.response): # automatically decode gzipped responses.
+ flow.response.content = flow.response.content.replace(
+ context.old,
+ context.new)