I am using mitmdump with python script to intercept https request and manipulate
flow.request.path with in
def request(flow):. I have been able to achieve the same and get a response for the manipulated request. After first get response for first request, my application send a second request. In the second request, instead of the host and port set by my application, I get the same previously manipulated host and port that is
flow.request.port are from my last manipulated request but
flow.request.path are same as my application sets in second request.
Is there any way I can reset the
flow.request.port after every response, so that my next request is captured in
from mitmproxy import http import sys def request(flow): print("\nOriginal Request : " + str(flow.request)+"\n") if flow.request.pretty_host.endswith("original.host.com"): flow.request.host = "mock.host.com" flow.request.scheme = "http" flow.request.port = 8081 flow.request.path = re.sub(r"billing",r"moquer-0.0.2/mockbillingBinding",flow.request.path) print("Manipulated Request : " + str(flow.request)+"\n") def response(flow): print("Response : " +str(flow.response)+"\n")