如何使用 Fiddler 拦截和修改 HTTP 请求与响应数据
在开发过程中,我们需要对网络请求进行调试和测试,Fiddler 是一款强大的 HTTP/TLS 工具,可以用来捕获、分析、修改或重发网络流量,本文将详细介绍如何使用 Fiddler 进行 HTTP/HTTPS 数据的拦截、抓取和修改。
安装并启动 Fiddler
在 Windows 系统中,可以通过以下步骤安装并启动 Fiddler:
- 打开浏览器(如 Chrome 或 Firefox)。
- 搜索“Fiddler”并下载最新版本。
- 解压下载文件,并双击安装程序。
- 在安装过程中选择默认位置安装,并点击“安装”。
在 macOS 和 Linux 系统中,也可以通过包管理器安装 Fiddler:
- macOS:
brew install fiddler
- Ubuntu/Linux Mint:
sudo apt-get update sudo apt-get install -y fiddler
安装完成后,打开 Fiddler 并按照提示配置代理设置。
配置 Fiddler 以拦截 HTTPS 流量
为了确保所有 HTTPS 请求都能被 Fiddler 监听和记录,你需要编辑 C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\Fiddler\config.json
文件,该文件位于 Fiddler 的根目录下。
找到以下两行:
{ "version": 5, ... }
"HTTPS": { "enabled": true, "proxy": true }, "HTTP": { "enabled": true, "proxy": false }
保存文件后,重启 Fiddler 应用。
使用 Fiddler 抓取和分析数据
一旦 Fiddler 正常运行,你可以通过以下方式抓取和分析数据:
1 查看已发送的数据
- 右键点击页面上的任意元素,选择“Inspect Element”,进入开发者工具。
- 切换到“Network”标签页。
- 点击“Start Recording”开始录制。
- 执行你想要测试的操作(加载某个 URL)。
- 停止录制并查看列表中的所有数据。
2 修改已发送的数据
- 同样,在网络标签页,右键点击需要修改的请求。
- 选择“Modify Request”来修改请求头、请求体等信息。
- 如果需要修改响应数据,可以点击“Modify Response”来直接修改服务器返回的 HTML 内容。
修改并重发数据
如果你希望在不改变原始数据的情况下对某些部分进行修改,可以使用 Fiddler 中的“Modify Headers”功能:
- 确保正在录制当前请求。
- 将鼠标悬停在请求头部上。
- 点击“Modify Headers”按钮,选择要修改的部分(修改特定字段的值)。
- 再次单击“Modify Headers”按钮,这次可以选择“Modify Body”。
如果需要修改整个请求体,可以点击“Modify Request Body”选项。
分析并处理 JSON 数据
JSON 数据通常出现在 HTTP 请求和响应中,你可以使用 Fiddler 的“JSON Viewer”插件来快速检查 JSON 字符串是否正确解析为 JavaScript 对象。
- 点击右上角的菜单图标,选择“Plugins > Add Plugin…”,搜索并安装“JSON Viewer”插件。
- 返回网络标签页,右键点击任意请求,选择“View JSON”。
- 现在可以查看和编辑 JSON 数据了。
Fiddler 是一个非常强大且灵活的工具,适用于各种场景下的网络调试和数据分析,无论是进行前端测试、API 探索还是开发过程中的日志记录,Fiddler 都能提供必要的帮助,通过上述步骤,你可以轻松地使用 Fiddler 进行 HTTP/HTTPS 数据的拦截、抓取和修改,从而提高你的开发效率和质量控制能力。