使用pycharm直接安装,pip install mitmproxy
安装成功后直接使用命令mitmdump --version查看版本
然后自己本地下载https://mitmproxy.org/downloads/#10.1.1/
之后一步步安装即可
安装成功后这里会出现一个.mitmproxy文件
双击这个文件进入开始安装证书
我们编写一个python脚本如下:
# -*- coding: utf-8 -*-
# @Author : hwt
# @Time : 2023/11/3 17:50
from mitmproxy import ctx
import json, os
class ModifyResponse:
def response(self, flow):
# 拦截指定的url
if flow.request.url.startswith("https://nrstore-d.test.mi.com/api/location/list"):
# 返回数据json,绝对路径
with open('D:\code\hwt\mitm\data.json', 'rb') as f:
res = json.load(f)
# 设置返回数据
flow.response.set_text(json.dumps(res))
# log中打印
ctx.log.info('modify words-template response')
addons = [
ModifyResponse()
]
然后我们编辑一个json文件,用来模拟接口返回,并且编辑地址用于区分改动生效
接下来,我们使用命令启用mitmproxy,如下命令mitmweb -s D:\code\hwt\mitm\test_mitmproxy.py
命令启用后会出现一个新的浏览器窗口
接下来我们设置本地的代理,浏览器打开设置
打开计算机的代理
将代理服务器打开,地址端口填写如图
最后别忘记点击保存
到这里我们整个链路就通了,我们开始请求我们的接口,发现我们的接口返回页面展示也已经是我们json文件中的接口返回了
而且我们也看到了,代理抓包的地址也是json文件的地址哇