mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-22 15:37:45 +00:00
allow server replay functionality to run on a different port
By providing the "server_replay_ignore_port" configuration value we're able to run mitmproxy in server replay mode on a different port than the web server in the flows was originally running. This is also useful in case multiple ports are present in a flow (I suspect).
This commit is contained in:
parent
be2865cd79
commit
a5412ab136
@ -68,6 +68,13 @@ class ServerPlayback:
|
||||
to replay.
|
||||
"""
|
||||
)
|
||||
loader.add_option(
|
||||
"server_replay_ignore_port", bool, False,
|
||||
"""
|
||||
Ignore request's destination port while searching for a saved flow
|
||||
to replay.
|
||||
"""
|
||||
)
|
||||
|
||||
@command.command("replay.server")
|
||||
def load_flows(self, flows: typing.Sequence[flow.Flow]) -> None:
|
||||
@ -110,7 +117,7 @@ class ServerPlayback:
|
||||
_, _, path, _, query, _ = urllib.parse.urlparse(r.url)
|
||||
queriesArray = urllib.parse.parse_qsl(query, keep_blank_values=True)
|
||||
|
||||
key: typing.List[typing.Any] = [str(r.port), str(r.scheme), str(r.method), str(path)]
|
||||
key: typing.List[typing.Any] = [str(r.scheme), str(r.method), str(path)]
|
||||
if not ctx.options.server_replay_ignore_content:
|
||||
if ctx.options.server_replay_ignore_payload_params and r.multipart_form:
|
||||
key.extend(
|
||||
@ -129,6 +136,8 @@ class ServerPlayback:
|
||||
|
||||
if not ctx.options.server_replay_ignore_host:
|
||||
key.append(r.host)
|
||||
if not ctx.options.server_replay_ignore_port:
|
||||
key.append(r.port)
|
||||
|
||||
filtered = []
|
||||
ignore_params = ctx.options.server_replay_ignore_params or []
|
||||
|
Loading…
Reference in New Issue
Block a user