0

我是python web编程的新手,仍然不知道如何将mitmproxy与flask等web框架集成。我的意思是可以发送一个请求来启动 mitmproxy 服务,另一个请求来停止它,如下例所示:

 app = Flask(__name__)

class MyMaster(flow.FlowMaster):
    def run(self):
        try:
            flow.FlowMaster.run(self)
        except KeyboardInterrupt:
            self.shutdown()
    @controller.handler
    def request(self, f):
        print("request", f)

    @controller.handler
    def response(self, f):
        print("response", f)

    @controller.handler
    def error(self, f):
        print("error", f)

    @controller.handler
    def log(self, l):
        print("log", l.msg)

opts = options.Options(cadir="~/.mitmproxy/", listen_port=9000)
config = ProxyConfig(opts)
state = flow.State()
server = ProxyServer(config)
m = MyMaster(opts, server, state)

@app.route("/")
def index():
    return "hello"

@app.route("/start")
def start():
    global m
    m.run()
    return 'Start!'

def stop():
    global m
    m.shutdown()

app.run(debug=True)

现在我必须将我的应用程序分为两部分,mitmproxy 作为服务由主管控制,将数据存储到数据库中,另一个烧瓶应用程序显示来自数据库的数据。实际上我想从客户端控制服务。

4

0 回答 0