我在用mitmproxy在 Windows 11 的标准模式下,它正在监听 localhost:8080。我不想重新配置我的系统代理。我只想为一个浏览器选项卡(或新窗口)重新配置我的代理。
这一页说要传递--proxy-server
到命令行。它没有说明命令是什么。输入edge
或msedge
不会启动它。所以我调查了:
PS C:\Users\JustinDearing\source\repos\agents-of-devops> ps msedge| select path, commandline
Path CommandLine
---- -----------
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --type=renderer --display-capture-permissions-policy-allowed --js-flags=--ms-user-locale= --lang=en-US --devic…
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --type=utility --utility-sub-type=audio.mojom.AudioService --lang=en-US --service-sandbox-type=audio --mojo-pl…
. . .
但是当我运行命令时:
& “C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe” --proxy-server="https://localhost:8080"http://www.httpvshttps.com/
交通情况没有显现。
答案1
PowerShell 有其自身的奥秘,但我能够从“命令提示符”中使用您的命令(减去前导“&”)并让它使用代理。
棘手的是,像 Microsoft Edge(或 Google Chrome)这样的复杂应用的默认行为是共享应用程序实例。因此,它会忽略您的代理设置,除非您故意在使用您的设置启动之前关闭所有正在运行的实例(Edge 很狡猾 - 我会使用任务管理器来做到这一点)。
一种可能的替代方案是通过指定临时配置文件或用户数据目录选项。但那是一项更大的努力。