当前位置: 首页 > 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.jsqmd.com/news/168018/

相关文章:

  • 故障排查:Pytest Asyncio Event Loop Closed 错误
  • 使用Miniconda实现PyTorch模型的滚动更新策略
  • espidf打造可扩展智能家居中枢:深度剖析
  • Miniconda环境下PyTorch模型热更新技术方案
  • Miniconda-Python3.10环境下使用conda env export导出环境
  • 全面讲解USB转串口硬件接线与软件配置
  • Miniconda如何帮助开发者规避PyTorch版本陷阱
  • Miniconda-Python3.10镜像在剧本创作大模型中的尝试
  • Miniconda-Python3.10环境下安装Pandas进行数据清洗
  • 入门必看:AUTOSAR架构图各层功能通俗解读
  • 基于Java+SpringBoot+SpringBoot博物馆文创系统(源码+LW+调试文档+讲解等)/博物馆文创产品/博物馆数字化系统/博物馆创意设计系统/博物馆文化衍生品系统/博物馆文创平台
  • Miniconda-Python3.10环境下使用conda create新建虚拟环境
  • Docker run命令如何启动AI开发容器?Miniconda-Python3.10镜像模板分享
  • 使用Miniconda为PyTorch项目构建可复现的基准环境
  • 使用Miniconda为PyTorch项目集成CI自动化测试
  • Meta 数十亿美元收购 Manus,肖弘将出任 Meta 副总裁
  • Miniconda-Python3.10环境下使用html报告监控训练进度
  • 基于Java+SpringBoot+SpringBoot咖啡店点餐系统(源码+LW+调试文档+讲解等)/咖啡店点单系统/咖啡厅点餐系统/咖啡厅点单系统/咖啡店自助点餐/咖啡店扫码点餐/咖啡店智能点餐
  • 基于Java+SpringBoot+SpringBoot大学生就业管理系统(源码+LW+调试文档+讲解等)/大学生就业平台/毕业生就业管理系统/高校就业管理系统/学生就业信息管理系统/就业服务管理系统
  • allegro导出gerber文件常见问题:新手避坑指南
  • Nginx 静态图片访问故障快速排查手册
  • STM32开发第一步:IAR编译器安装的系统化教程
  • Miniconda-Python3.10镜像支持多种AI框架灵活切换
  • Miniconda-Python3.10结合FastAPI构建高性能Token API
  • 基于Java+SpringBoot+SpringBoot家政服务与互助平台(源码+LW+调试文档+讲解等)/家政服务平台/互助服务平台/家政互助/家政服务网站/互助服务网站/家政与互助/家政互助系统
  • STM32上I2C HID中断处理机制解析
  • Miniconda-Python3.10镜像如何支撑高并发Token计费接口
  • Miniconda-Python3.10结合Nginx反向代理保护模型接口
  • es连接工具开发调试全记录:系统学习手册
  • Miniconda环境下PyTorch模型性能调优实战