mitmproxy启动时可以使用-s参数导入外部的脚本进行拦截处理
比如我要修改一个每个链接的响应头的
python脚本:
1、简单方法
from mitmproxy import http
def response(flow: http.HTTPFlow) -> None:
flow.response.headers["server"] = "nginx"
2、使用类
class ModifyHeader:
def response(self, flow):
flow.response.headers["serverr"] = "nginx"
def start():
return ModifyHeader()
保存为modifyheader.py。然后启动mitmdump -s modifyheader.py,就会把代理抓到包的每个响应头的 Server都改成“nginx”
我们做接口自动化测试时,可以通过这代理抓包过滤清洗接口后保存在mysql里,就可以免除接口自动化前的数据准备,节约时间。
官方参考例子:https://github.com/mitmproxy/mitmproxy/tree/master/examples