接口请求捕获
概述
扩展通过 chrome.webRequest API 自动监听当前页面的网络请求,捕获 XMLHttpRequest 和 fetch 类型的接口请求记录。
捕获范围
扩展默认仅监听配置的 监听域名(monitoredOrigins)范围内的请求,默认值为 localhost 和 127.0.0.1。
你可以在设置中新增其他域名,支持通配符格式,例如 *.example.com。
捕获的信息
每个请求记录包含以下信息:
| 字段 | 说明 |
|---|---|
| 请求方法 | GET / POST / PUT / DELETE 等 |
| 请求路径 | 完整的请求 URL |
| 状态码 | HTTP 状态码(200、404、500 等) |
| 请求头 | 包含 traceId 等关键标识 |
| 响应头 | 包含 traceId 等关键标识 |
| 请求时间 | 请求发起的精确时间 |
| 耗时 | 请求从发起到完成的时间间隔 |
| 异常状态 | 状态码 >= 400 或命中自定义异常规则时标记 |
| 响应快照 | 响应体裁剪后的快照(用于异常规则判断) |
| 请求入参 | 请求参数(query / body) |
响应体捕获
扩展通过注入页面脚本(page-network-hook.js)来拦截 window.fetch 和 XMLHttpRequest,捕获响应体内容。
响应体经过裁剪后保存为快照:
- 最多保留 20 个 key
- 嵌套深度限制为 3 层
- 字符串截断至 300 字符
- 数组元素在裁剪后仅保留结构信号
裁剪后的快照仅用于自定义异常规则的判断,不用于其他用途。
缓存管理
捕获的请求记录按标签页(tab)维度缓存:
- 每个标签页最多缓存 200 条 请求记录
- 标签页关闭时自动清理
- 后台 Service Worker 重启时通过
chrome.storage.session恢复 - 主动点击"清空"可清除当前标签页的记录
过滤展示
在 popup 中展示的请求会根据 接口前缀过滤(apiPrefixes)进一步筛选,默认前缀为 /api/saas/。
只有路径匹配前缀的接口才会在列表中展示和参与复制。