我是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 作为服务由主管控制,将数据存储到数据库中,另一个烧瓶应用程序显示来自数据库的数据。实际上我想从客户端控制服务。