mitmproxy安装以及模拟接口数据返回

使用pycharm直接安装,pip install mitmproxy
mitmproxy安装以及模拟接口数据返回_第1张图片
安装成功后直接使用命令mitmdump --version查看版本
mitmproxy安装以及模拟接口数据返回_第2张图片

然后自己本地下载https://mitmproxy.org/downloads/#10.1.1/
mitmproxy安装以及模拟接口数据返回_第3张图片
之后一步步安装即可
mitmproxy安装以及模拟接口数据返回_第4张图片

mitmproxy安装以及模拟接口数据返回_第5张图片
安装成功后这里会出现一个.mitmproxy文件
mitmproxy安装以及模拟接口数据返回_第6张图片
双击这个文件进入开始安装证书
mitmproxy安装以及模拟接口数据返回_第7张图片
mitmproxy安装以及模拟接口数据返回_第8张图片
mitmproxy安装以及模拟接口数据返回_第9张图片
我们编写一个python脚本如下:
mitmproxy安装以及模拟接口数据返回_第10张图片

# -*- 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安装以及模拟接口数据返回_第11张图片

接下来,我们使用命令启用mitmproxy,如下命令mitmweb -s D:\code\hwt\mitm\test_mitmproxy.py
mitmproxy安装以及模拟接口数据返回_第12张图片
命令启用后会出现一个新的浏览器窗口
mitmproxy安装以及模拟接口数据返回_第13张图片
接下来我们设置本地的代理,浏览器打开设置

mitmproxy安装以及模拟接口数据返回_第14张图片
打开计算机的代理
mitmproxy安装以及模拟接口数据返回_第15张图片
将代理服务器打开,地址端口填写如图

最后别忘记点击保存
到这里我们整个链路就通了,我们开始请求我们的接口,发现我们的接口返回页面展示也已经是我们json文件中的接口返回了
mitmproxy安装以及模拟接口数据返回_第16张图片
而且我们也看到了,代理抓包的地址也是json文件的地址哇
mitmproxy安装以及模拟接口数据返回_第17张图片

你可能感兴趣的:(python,mitmproxy)