2014-07-25 22:44:03 +00:00
|
|
|
# Usage: mitmdump -s "modify_response_body.py mitmproxy bananas"
|
2014-08-06 23:30:47 +00:00
|
|
|
# (this script works best with --anticache)
|
2014-07-25 22:44:03 +00:00
|
|
|
from libmproxy.protocol.http import decoded
|
|
|
|
|
|
|
|
|
2014-09-08 14:02:31 +00:00
|
|
|
def start(context, argv):
|
2014-07-25 22:44:03 +00:00
|
|
|
if len(argv) != 3:
|
2014-08-06 23:30:47 +00:00
|
|
|
raise ValueError('Usage: -s "modify-response-body.py old new"')
|
2015-05-30 00:03:28 +00:00
|
|
|
# You may want to use Python's argparse for more sophisticated argument
|
|
|
|
# parsing.
|
2014-09-08 14:02:31 +00:00
|
|
|
context.old, context.new = argv[1], argv[2]
|
2014-07-25 22:44:03 +00:00
|
|
|
|
|
|
|
|
2014-09-08 14:02:31 +00:00
|
|
|
def response(context, flow):
|
2014-07-25 22:44:03 +00:00
|
|
|
with decoded(flow.response): # automatically decode gzipped responses.
|
2015-05-30 00:03:28 +00:00
|
|
|
flow.response.content = flow.response.content.replace(
|
|
|
|
context.old,
|
|
|
|
context.new)
|