【mitmproxy】使用mitmproxy录制http流量并写入文件

一、场景

    就是想用python脚本录制相关请求流量,然后回放给服务

 

二、脚本

复制代码
import mitmproxy
import json


class HttpFlowRecorder:
    def __init__(self):
        self.traffic = []

    def request(self, flow):
        request_info = {
            "url": flow.request.url,
            "method": flow.request.method,
            "headers": dict(flow.request.headers),
            "body": flow.request.text,
        }
        self.traffic.append(request_info)

    def response(self, flow):
        pass

    def done(self):
        with open("http_requests.log", "w") as file:
            file.write(json.dumps(self.traffic))


addons = [
    FlowRecorder()
]
复制代码

 

 

三、执行脚本

sudo mitmdump -s traffic.py

 

四、设置浏览器

1、搜索代理设置

 
2、打开代理设置

3、设置代理为手动

 

五、启动脚本

$ sudo mitmdump -s traffic.py

 

六、访问浏览器

 

七、检查结果

关闭程序

 

参考链接:

揭秘抓包利器:Python和Mitmproxy让您轻松实现接口请求抓取与分析! - 测试玩家勇哥 - 博客园

Python自动化测试之线上流量回放:录制、打标、压测与平台选择_python 客户端自动化录制回放-CSDN博客

https://blog.csdn.net/crisschan/article/details/51887694

posted @   代码诠释的世界  阅读(148)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-07-22 【mac】./gradlew: command not found错误处理
点击右上角即可分享
微信分享提示