该过程是浏览器向 MITMproxy 发送请求,然后生成一个请求,该请求被发送到不受我们控制的目标代理服务器。代理服务器将向 MITMproxy 发送响应,然后将响应中继到浏览器。
我该怎么做呢?
我能够通过以下方式实现您的要求。您需要启用上游模式和上游身份验证(如果您的代理有一些用户名/密码):
mitmproxy --mode upstream:https://HOSTNAME:PORT --upstream-auth USER:PASSWORD
然后你可以用一个简单的方法检查它是否工作curl
:
curl -x http://localhost:8080 -k https://api.ipify.org/
这会将您的请求mitmproxy
转发给您的其他代理。
希望能帮助到你!
您可以使用 mitmproxy 的 -F 标志来执行此操作,它将代理请求转发到上游服务器。看看这里的文档:
如果您不想从脚本中执行此操作,您可以使用 get_upstream_server 从 server.config 更改上游服务器,请参阅 [mitmproxy config] ( https://github.com/mitmproxy/mitmproxy/blob/42d4a2fae96b8b4ba35d3a88e20f278d79a0ccc6/libmproxy/proxy .py )。例如:
self.server.config.get_upstream_server = proxy.ConstUpstreamServerResolver(cmdline.parser_server_spec("http://upstreamserver:port"))
我认为这是一个-U
选项:
command-line -U http://hostname[:port]
来源:http ://docs.mitmproxy.org/en/stable/features/upstreamproxy.html