乐闻世界logo
搜索文章和话题

whistle 如何捕获和查看网络请求,有哪些过滤和搜索技巧?

2月21日 16:25

答案

Whistle 提供了多种方式来捕获和查看网络请求,帮助开发者快速定位和解决问题。

请求捕获基础

1. 启动 whistle 并配置代理

启动 whistle:

bash
w2 start

配置浏览器代理:

  • 访问 http://127.0.0.1:8899/
  • 点击 "Proxy" 标签
  • 按照提示配置浏览器代理

2. 查看请求列表

在 whistle 管理界面:

  1. 点击 "Network" 标签
  2. 查看所有捕获的请求
  3. 默认按时间顺序排列

请求过滤和搜索

1. 按类型过滤

过滤 HTTP 请求:

  • 点击 "All" 下拉菜单
  • 选择 "XHR" 过滤 AJAX 请求
  • 选择 "Doc" 过滤文档请求
  • 选择 "CSS" 过滤样式表
  • 选择 "JS" 过滤 JavaScript 文件
  • 选择 "Img" 过滤图片
  • 选择 "Media" 过滤媒体文件
  • 选择 "WS" 过滤 WebSocket

2. 按域名过滤

在搜索框输入域名:

shell
example.com

或者使用通配符:

shell
*.example.com

3. 按状态码过滤

过滤成功请求:

shell
status:200

过滤错误请求:

shell
status:4xx status:5xx

4. 按方法过滤

过滤 GET 请求:

shell
method:GET

过滤 POST 请求:

shell
method:POST

5. 按关键词搜索

搜索 URL 包含关键词的请求:

shell
api/user

搜索响应内容:

shell
body:success

请求详情查看

1. 查看请求头

点击请求后查看 "Headers" 标签:

  • Request Headers:请求头信息
  • Response Headers:响应头信息
  • General:通用信息(URL、方法、状态码等)

2. 查看请求体

点击 "Payload" 标签:

  • Query String Parameters:查询参数
  • Form Data:表单数据
  • Request Payload:请求体(JSON 等)

3. 查看响应体

点击 "Response" 标签:

  • 查看完整的响应内容
  • 支持格式化 JSON
  • 支持查看 HTML
  • 支持查看图片

4. 查看时间信息

点击 "Timing" 标签:

  • DNS Lookup:DNS 查询时间
  • TCP Connection:TCP 连接时间
  • SSL Handshake:SSL 握手时间
  • Request Sent:请求发送时间
  • Waiting (TTFB):等待响应时间
  • Content Download:内容下载时间
  • Total:总时间

高级捕获功能

1. 捕获 HTTPS 请求

启用 HTTPS 拦截:

  1. 点击 "HTTPS" 标签
  2. 勾选 "Capture HTTPS"
  3. 下载并安装根证书

或者使用规则:

shell
pattern whistle.https://

2. 捕获 WebSocket 请求

WebSocket 请求会自动显示在请求列表中:

  • 标记为 "WS" 类型
  • 显示连接状态
  • 记录消息历史

3. 捕获移动端请求

配置手机代理:

  1. 手机和电脑连接同一 Wi-Fi
  2. 配置手机代理指向电脑 IP 和 whistle 端口
  3. 安装 HTTPS 证书

查看移动端请求:

  • 请求会显示在同一个列表中
  • 可以通过 User-Agent 识别设备

4. 捕获 Service Worker 请求

Service Worker 的请求也会被捕获:

  • 显示请求来源
  • 标记为 Service Worker 请求
  • 可以查看缓存状态

请求导出和分析

1. 导出 HAR 文件

导出步骤:

  1. 点击 "Export" 按钮
  2. 选择 "Export HAR"
  3. 保存 HAR 文件

HAR 文件用途:

  • 用于性能分析
  • 用于问题排查
  • 用于自动化测试

2. 导出为 CSV

导出步骤:

  1. 点击 "Export" 按钮
  2. 选择 "Export CSV"
  3. 保存 CSV 文件

CSV 文件用途:

  • 数据分析
  • 报表生成
  • 数据导入

3. 导出为 JSON

导出步骤:

  1. 点击 "Export" 按钮
  2. 选择 "Export JSON"
  3. 保存 JSON 文件

JSON 文件用途:

  • 自定义分析
  • 数据处理
  • 集成其他工具

请求修改和重放

1. 修改请求

修改请求头:

  1. 右键点击请求
  2. 选择 "Edit and Resend"
  3. 修改请求头
  4. 点击 "Send"

修改请求体:

  1. 右键点击请求
  2. 选择 "Edit and Resend"
  3. 修改请求体
  4. 点击 "Send"

2. 重放请求

快速重放:

  1. 右键点击请求
  2. 选择 "Replay"
  3. 请求会重新发送

批量重放:

  1. 选择多个请求
  2. 右键点击
  3. 选择 "Replay Selected"

请求监控和告警

1. 实时监控

启用实时监控:

  • 请求会实时显示在列表中
  • 自动滚动到最新请求
  • 显示请求计数

2. 设置告警规则

创建告警规则:

shell
# 状态码告警 status:5xx alert:Server Error # 响应时间告警 time:>3000 alert:Slow Request # 响应大小告警 size:>1MB alert:Large Response

3. 查看统计信息

统计面板:

  • 总请求数
  • 成功请求数
  • 失败请求数
  • 平均响应时间
  • 总数据量

实用技巧

1. 使用快捷键

  • Ctrl/Cmd + F:搜索请求
  • Ctrl/Cmd + E:编辑并重发请求
  • Ctrl/Cmd + R:重放请求
  • Delete:删除选中请求
  • Ctrl/Cmd + A:全选请求

2. 保存过滤条件

保存常用过滤条件:

  1. 设置过滤条件
  2. 点击 "Save Filter"
  3. 输入名称
  4. 保存

使用保存的过滤条件:

  1. 点击 "Saved Filters"
  2. 选择保存的过滤条件

3. 使用书签

添加书签:

  1. 右键点击请求
  2. 选择 "Add Bookmark"
  3. 输入名称
  4. 保存

查看书签:

  1. 点击 "Bookmarks" 标签
  2. 查看所有书签请求

4. 使用注释

添加注释:

  1. 右键点击请求
  2. 选择 "Add Comment"
  3. 输入注释
  4. 保存

查看注释:

  • 注释会显示在请求列表中
  • 鼠标悬停查看完整注释

最佳实践

  1. 定期清理请求列表

    • 避免列表过长
    • 提高查找效率
  2. 使用过滤条件快速定位

    • 按类型、域名、状态码过滤
    • 使用关键词搜索
  3. 保存重要请求

    • 使用书签功能
    • 添加注释说明
  4. 导出数据进行分析

    • 导出 HAR 文件用于性能分析
    • 导出 CSV/JSON 用于数据处理
  5. 使用快捷键提高效率

    • 熟悉常用快捷键
    • 提高操作速度
标签:Whistle