Python 大家有没有使用 mitmproxy 的,我想做个拦截下业务流程过程中的接口,然后对接口参数做一下校验

ma · 2021年11月05日 · 最后由 JoyMao 回复于 2021年11月05日 · 2495 次阅读

现在的问题是,这个业务流程少的有 4,5 个接口,多的 10 多个,我需要都在 request 函数里,写很多 if 吗?大家有什么更好的办法吗?

class Counter(object):
    def __init__(self):
        self.num = 0
        self.path = flowfilter.parse("xxx/xxx") # xxx/xxx是接口路径.

    def request(self, flow: HTTPFlow):
        if flowfilter.match(self.path, flow):
            ctx.log.info('xxx/xxx接口')
        self.num = self.num + 1
        ctx.log.info("We've seen %d flows" % self.num)

    def response(self, flow: HTTPFlow):
        if flowfilter.match(self.parh, flow):
            ctx.log.info(flow.response.get_text())
            ctx.log.info(type(flow.response.get_text()))
共收到 1 条回复 时间 点赞

可以采用配置文件的方式,将一条条 path 规则写入规则文件。
这里代码写遍历规则即可

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册