用 Python 脚本处理抓包流量:环境要求与编写入口
脚本是三大调试功能里自由度最高的:用 Python 代码处理 HTTP 请求和响应,能做修改、替换、删除,甚至中断请求。与重写、断点的区别是逻辑完全由你写——适合带条件判断、数据加工、调用外部服务的复杂场景。
前提:本机要有 Python3
脚本功能依赖本机的 Python3 环境(版本必须大于 3.6)。如果电脑上有多个 Python 环境,可以右键脚本图标 →「设置环境」手动指定 Python3 Home 路径。

开启与创建规则
菜单「调试」→「脚本」→「启用」开启,快捷键 Shift + Control + P。创建脚本规则的方式与重写、断点一致,填规则名和 URL 匹配模式(通配符 * ?),然后进入脚本编辑器编写处理逻辑。

脚本修改后自动保存,也可按 Control + S 立即保存。除了 Reqable 内置 API,还能使用自己安装的 Python 包(例如 requests)。
调试控制台
编辑器右侧内置控制台,实时输出脚本日志和报错的 backtrace 信息——脚本执行期间保持编辑器窗口打开即可看到输出。下图是故意写了个除零错误后控制台的报错效果:

与重写、断点怎么选
| 需求 | 推荐手段 |
|---|---|
| 固定的替换/修改,配置即用 | 重写 |
| 命中时人工实时改 | 断点 |
| 条件逻辑、动态数据、外部调用 | 脚本 |
三者可以叠加使用,注意 重写的优先级规则 与脚本执行的关系以官方最新文档为准。
规则管理
与其他规则一致:从上往下匹配、可命中多条、文件夹管理、导入导出。

下一篇 脚本 onRequest 与 onResponse 入门 讲脚本代码怎么写。移动端不提供脚本功能。