本文目录导读:

- 方法 1:使用浏览器开发者工具(无代码,最推荐)
- 方法 2:使用第三方拦截工具(如 Fiddler、Charles、mitmproxy)
- 方法 3:使用浏览器扩展(如 Lokaltest、Requestly、Tampermonkey)
- 方法 4:命令行工具(curl + 代理)
- 总结建议
- 注意事项
(通常用于调试、测试或开发)主要有 3 种方法,具体取决于你的技术背景和工具偏好:
方法 1:使用浏览器开发者工具(无代码,最推荐)
适用场景: 快速临时修改、调试 API 返回数据
操作步骤(以 Chrome 为例):
- 打开开发者工具:按
F12或Ctrl+Shift+I(Mac:Cmd+Option+I)。 - 切换到 Network(网络)标签。
- 找到目标请求:刷新页面,在请求列表中找到你要修改响应的那个请求(如 API 接口)。
- 右键点击该请求,选择 “Override content”(覆盖内容) 或 “Copy as fetch”。
- Override 模式:Chrome 会允许你本地修改并保存响应内容,下次加载页面时会自动使用修改后的内容。
- 编辑响应内容:在弹出的编辑器中修改 JSON、HTML 或文本内容。
- 刷新页面:此时浏览器会使用你修改后的响应(注意:仅对当前页面有效,刷新后失效)。
缺点:仅作用于当前浏览器标签,且修改不持久(除非启用 Override 并保存到本地文件)。
方法 2:使用第三方拦截工具(如 Fiddler、Charles、mitmproxy)
适用场景: 需要持久化修改、跨浏览器/客户端、或修改 HTTPS 流量
以 Fiddler(Windows)为例:
- 安装并打开 Fiddler。
- 启用 HTTPS 解密:
Tools -> Options -> HTTPS -> Decrypt HTTPS traffic(会安装证书,信任即可)。 - 设置响应替换规则:
Rules -> Autolatic Response(自动响应)。- 添加规则:将你想要拦截的 URL 拖拽到规则列表。
- 修改响应体:选择
Add...-> 输入你要替换的内容(如 JSON 字符串)。 - 应用:勾选规则,然后刷新页面。
以 Charles(Mac/Windows)为例:
- 可使用
Tools -> Rewrite或Map Local功能。 - Map Local:将远程响应映射到你本地的文件(如
data.json)。
优点:全局生效,可持久化,支持正则匹配。
方法 3:使用浏览器扩展(如 Lokaltest、Requestly、Tampermonkey)
使用 Lokaltest (推荐)
- 安装:Chrome 应用商店搜索 “Lokaltest”。
- 操作:打开该扩展,点击
Add Rule->API Mock,输入 URL 匹配规则,填写你想返回的 JSON 内容。 - 特点:无需重启页面,修改即时生效,支持动态数据。
使用 Tampermonkey(需要写代码)
- 安装 Tampermonkey 扩展。
- 新建用户脚本,借助
GM_xmlhttpRequest或window.fetch的拦截逻辑来实现。 - 示例代码(拦截特定 API 返回 JSON):
// ==UserScript==
// @name Modify API Response
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Modify /api/data response
// @author You
// @match https://example.com/*
// @grant none
// ==/UserScript==
(function() {
const originalFetch = window.fetch;
window.fetch = function(...args) {
if (args[0].includes('/api/data')) {
return Promise.resolve(new Response(JSON.stringify({ new: 'data' }), {
headers: { 'Content-Type': 'application/json' }
}));
}
return originalFetch.apply(this, args);
};
})();
方法 4:命令行工具(curl + 代理)
适用场景: 自动化测试、批量修改
-
启动一个本地代理(如 mitmproxy):
mitmproxy --listen-port 8888
-
编写 Python 脚本(mitmproxy 插件)修改响应:
from mitmproxy import http def response(flow: http.HTTPFlow): if "api.example.com/data" in flow.request.pretty_url: flow.response.text = '{"modified": true}' -
将浏览器或系统代理设置为
0.0.1:8888,流量即可被修改。
总结建议
| 需求场景 | 推荐工具 |
|---|---|
| 临时调试单个 API | Chrome Override (F12→Network→右键→Override内容) |
| 需要持久化、多端生效 | Fiddler / Charles |
| 不想装软件、快速测试 | Lokaltest 浏览器扩展 |
| 需要编写复杂逻辑 | Tampermonkey / mitmproxy |
注意事项
- HTTPS 问题:拦截工具(Fiddler/Charles/mitmproxy)需要安装并信任其自签名证书,否则无法解密 HTTPS 流量。
- 修改后验证:在 Network 面板中确认返回的响应是你修改后的内容。
- 不要用于侵权:仅用于自己设备的本地调试或测试,不要非法篡改他人网站或服务。
如果你需要针对特定工具(如 Fiddler 或 Charles)的详细步骤,可以告诉我,我可以补充给你。
标签: 网络
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播