当前位置: 首页 > news >正文

使用 JMeter 从 Fiddler 捕获请求并生成测试脚本(下)

使用 JMeter 从 Fiddler 捕获请求并生成测试脚本(下)

用 JMeter 生包 —— 1:1 复现请求

目标:在 JMeter 中精确重建你抓到的登录请求,使其返回与浏览器一致的响应(如 {"code":-105,"message":"验证码错误"})。

2.1 创建测试计划结构

  1. 打开 Apache JMeter(建议 5.6 或更高版本)。
  2. 在左侧 Test Plan 上右键 → 添加 → 线程(用户)→ 线程组
  3. 保持默认配置(适用于单次测试):
    • 线程数(用户数)1
    • Ramp-Up 时间(秒)1
    • 循环次数1

2.2 添加 HTTP 请求取样器

  1. 右键刚创建的 线程组添加 → 取样器 → HTTP 请求
  2. “基本” 选项卡中填写以下内容:
字段
协议 https
服务器名称或IP passport.bilibili.com
端口 (留空,JMeter 会自动使用 443)
方法 POST
路径 /x/passport-login/web/login

❗ 注意:路径不要包含 ? 及之后的查询参数(如 ?spm=xxx),这些应通过“参数”表处理(但本例中无查询参数)。

2.3 配置请求头(HTTP 信息头管理器)

  1. 右键 HTTP 请求添加 → 配置元件 → HTTP 信息头管理器
  2. 点击 “Add” 按钮,逐行添加以下 Header:
Name Value
Content-Type application/x-www-form-urlencoded
Cookie YOUR_COOKIE_STRING
Origin https://www.bilibili.com
Referer https://www.bilibili.com/?spm=a2ty_o01.29997173.0.0.5cce51713vRb7n

关键提醒

  • Cookie 的值必须是你从 Fiddler Headers 中复制的完整字符串(例如:buvid3=xxx; _uuid=yyy; sid=zzz; bili_ticket=aaa...)。
  • 不要在值前面加 Cookie:,JMeter 会自动拼接 Header 名称。

2.4 填写请求体(参数表)

  1. 切换到 HTTP 请求的 “参数” 选项卡。
  2. 点击 “Add”,逐行添加以下字段(值替换为你抓包所得):
名称
username YOUR_USERNAME
password YOUR_PASSWORD_HASH
captcha YOUR_CAPTCHA_VALUE
validate YOUR_VALIDATE_TOKEN
token YOUR_LOGIN_TOKEN
source main-fe-header
seccode YOUR_SECCODE
go_url https://www.bilibili.com/?spm=a2ty_o01.29997173.0.0.5cce51713vRb7n
challenge YOUR_CHALLENGE

💡 说明

  • 所有字段均来自 Fiddler 的 WebFormsTextView 中的 Body。
  • password 字段通常是前端加密后的值,并非明文密码,但仍属敏感信息,勿泄露。
  • image-20251231011024434

2.5 添加监听器并验证结果

  1. 右键 HTTP 请求添加 → 监听器 → 查看结果树

  2. 点击工具栏绿色 ▶️ 启动按钮 运行测试。

  3. 在左侧 查看结果树 中点击你的请求,检查:

    • 取样器结果:状态码是否为 200

    • 响应数据(Response Data) → 切换到 “Response body” 标签:

      • 是否返回类似以下 JSON?

      • {"code": -105,"message": "验证码错误"
        }
        

        如果响应与你在 Fiddler 中看到的一致,说明 “生包”成功

        密码3

http://www.zskr.cn/news/183728.html

相关文章:

  • 故障排查:Pytest Asyncio Event Loop Closed 错误
  • Miniconda环境下PyTorch模型热更新技术方案
  • Miniconda-Python3.10 + PyTorch实现百万级Token生成性能测试
  • Miniconda如何帮助开发者规避PyTorch版本陷阱
  • 图解说明multisim14.3下载安装步骤,清晰易懂零基础适用
  • Miniconda-Python3.10环境下安装Pandas进行数据清洗
  • 使用Miniconda为PyTorch项目构建可复现的基准环境
  • Meta 数十亿美元收购 Manus,肖弘将出任 Meta 副总裁
  • 基于Java+SpringBoot+SpringBoot大学生就业管理系统(源码+LW+调试文档+讲解等)/大学生就业平台/毕业生就业管理系统/高校就业管理系统/学生就业信息管理系统/就业服务管理系统
  • Miniconda-Python3.10镜像支持多种AI框架灵活切换
  • 基于Java+SpringBoot+SpringBoot家政服务与互助平台(源码+LW+调试文档+讲解等)/家政服务平台/互助服务平台/家政互助/家政服务网站/互助服务网站/家政与互助/家政互助系统
  • es连接工具开发调试全记录:系统学习手册
  • Miniconda环境下PyTorch模型性能调优实战
  • JLink驱动下载官网操作指南:项目应用
  • Miniconda-Python3.10镜像在智能客服Token生成中的落地实践
  • Miniconda与pipenv、pyenv对比:哪个更适合AI项目?
  • D02期:档位切换
  • Miniconda-Python3.10镜像在智能投研大模型中的实践
  • 利用Miniconda-Python3.10镜像快速启动大模型微调任务
  • STM32中hal_uart_transmit的入门操作指南
  • 工业传感器接入nmodbus网络:手把手教程
  • 工业自动化中STM32CubeMX下载与配置实战案例
  • 在Miniconda中激活环境失败?彻底解决conda activate问题
  • Miniconda vs Anaconda:谁更适合部署大规模Token生成任务?
  • STM32 USB外设初始化流程一文说清
  • 手机控制LED显示屏:蓝牙通信连接全面讲解
  • 【毕业设计】基于深度学习的蘑菇种类识别系统的设计与实现设计说明书
  • GitHub Releases发布Miniconda-Python3.10项目版本
  • Miniconda-Python3.10 + PyTorch + Jupyter Notebook一站式配置
  • 【毕业设计】基于深度学习的酒店评论文本情感分析