免插件 · 网络脚本
入口:网络调试 → 右上角菜单 → 脚本。脚本运行在逻辑层探针里,和插件 capture.intercept 使用同一套 req / resp 契约。
最小脚本
js
function onRequest(req) {
req.header['x-debug'] = '1';
return req;
}
function onResponse(resp) {
if (resp.req && resp.req.url.indexOf('/api/order') >= 0
&& typeof resp.data === 'string') {
resp.data = resp.data.replace('39.9', '0.01');
}
return resp;
}脚本字段
| 字段 | 说明 |
|---|---|
name | 脚本名 |
match | contains:xxx / regex:xxx;裸字符串按 contains |
method | GET / POST / …;留空全部 |
icase | 是否忽略大小写 |
enable | 是否启用 |
req / resp 对象
请求侧可写:url、method、header、data、dataType、responseType、timeout。
响应侧可写:statusCode、header、data、tempFilePath、errMsg;resp.req 是最终请求对象。
返回 undefined / null / '' 表示不修改;返回对象表示采纳可写字段;抛异常会中止本次请求并写日志。
与插件脚本的区别
| 免插件 · 网络脚本 | 通过插件 · 网络脚本 | |
|---|---|---|
| 入口 | Network 页 | 插件 capture.intercept |
| 分发 | App 内脚本管理 | 随插件安装/启用 |
| 适用 | 临时调试、个人规则 | 可分发给其他用户 |