论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
物联网
›
物联网
›
跨平台 Web 调试代理工具 Whistle
跨平台 Web 调试代理工具 Whistle
伤心客
论坛元老
|
3 天前
|
显示全部楼层
|
阅读模式
楼主
主题
1865
|
帖子
1865
|
积分
5595
跨平台 Web 调试代理工具 Whistle 完全指南:原理、使用与实战
一. Whistle 是什么?
Whistle
是一款基于
Node.js
开发的
跨平台 Web 调试代理工具
,支持
Windows、macOS 和 Linux
。它通过
拦截和修改 HTTP/HTTPS 请求
,
资助开发者快速调试网络问题、Mock 数据、分析性能瓶颈,是前端开发和网络抓包的利器。
二. 核心用途与优势
核心功能
抓包分析:
实时监控请求/相应内容(Header、Body、Cookie 等)。
请求转发:
修改请求目的地址(雷同 Hosts 或 Nginx)。
Mock 数据:
拦截请求并返回自界说相应(JSON、HTML 等)。
内容更换:
动态修改 HTML/CSS/JS 文件内容。
弱网模仿:
延迟相应测试页面性能。
HTTPS 调试:
支持解密 HTTPS 流量(需安装根证书)。
优势
轻量机动:
基于 Node.js,无需复杂配置。
规则驱动:
通过简朴语法实现复杂需求。
跨平台:
Windows/macOS/Linux 全支持。
三. 工作原理
Whistle 本质上是一个 本地代理服务器,工作流程如下:
代理拦截:
浏览器或体系流量颠末 Whistle 代理(默认端口 8899)。
规则匹配:
根据用户配置的规则(如域名、路径、正则表达式),决定是否修改请求或相应。
请求处置惩罚:
支持重定向、Mock、内容更换等操作。
HTTPS 解密:
通过中心人(MITM)方式解密 HTTPS 流量(需信托 Whistle 根证书)
四. 安装与底子使用
whistle安装过程必要以下步骤(缺一不可):
安装Node
安装whistle
启动whistle
配置代理
安装根证书
1. 安装Node
whistle支持v0.10.0以上版本的Node
Windows或Mac系统,访问Node.js,安装LTS版本的Node
安装完Node后,执行下面命令,查看当前Node版本
复制代码
node -v
复制代码
如果能正常输出Node的版本号,
表示Node已安装成功(Windows系统可能需要重新打开cmd)。
复制代码
2. 安装whistle
Node安装成功后,执行如下npm命令安装whistle
(Mac或Linux的非root用户需要在命令行前面加sudo,
如:sudo npm install -g whistle)
复制代码
# 全局安装 Whistle
npm install -g whistle
复制代码
3. 启动whistle
# 启动 Whistle
w2 start
# 停止 Whistle
w2 stop
# 重启 Whistle
w2 restart
复制代码
启动乐成如下图
4. 配置代理
浏览器打开
http://127.0.0.1:8899
,进入 Whistle 的 Web 控制台。
可在控制台中添加路由规则
注:写完后需
Ctrl + S
保存使其生效;若没保存,则在路面名称前面出现 星号 * 的样式
5. 安装根证书
该证书通过中心人(MITM)方式解密 HTTPS 流量(需信托 Whistle 根证书)
(若不必要https代理可忽略此项)
1. 点击https选项
2. 勾选选项
3. 点击dowload下载证书
复制代码
下载
rootCA.crt
证书完成后双击该证书即可进行安装
五. 结合 SwitchyOmega 配置代理
为什么必要 SwitchyOmega?
SwitchyOmega 是 Chrome/Firefox 的代理管理插件,可实现:
按需切换代理:
机动控制哪些流量走 Whistle。
多场景配置:
区分开发、测试、生产情况。
配置步骤
安装 SwitchyOmega
方式一: 官网直接下载
https://github.com/FelisCatus/SwitchyOmega/releases
方式二:百度网盘已下载最新版(停止到2025年5月)
switchyomega-2.5.20
https://pan.baidu.com/s/1IhoT_tZi900uX8Fw-TgqOA?pwd=y85e
创建景象模式
新建景象模式(如 Whistle),选择“代理服务器”。
填写参数:
协议:HTTP
服务器:127.0.0.1
端口:8899
复制代码
配置自动切换规则
在 auto switch 标签页中,添加规则:
其他域名默认直连,避免影响非开发流量。
启用代理
点击浏览器右上角 SwitchyOmega 图标,选择 Whistle 或 auto switch 模式。
六. 实战场景与示例
1. 场景一:Mock API 数据
# 规则语法
testtest.com/user resBody://{test.json}
复制代码
效果:
访问 http://testtest.com/user 直接返回自界说 JSON。
2. 场景二:修改请求域名
# 将线上请求转发到本地开发服务器
https://testtest.com/ http://127.0.0.1:8080/
复制代码
3. 场景三:更换 CSS 文件内容
https://testtest.com/css/style.css replace://(red)/blue
复制代码
七. 常见问题解答
Q1:HTTPS 抓包失败?
办理方法
:在 Whistle 控制台下载并安装根证书(RootCA 标签页)。
Q2:规则不生效?
检查步骤
:
确认代理配置正确(SwitchyOmega 是否启用)。
规则语法是否正确(无拼写错误,路径匹配)。
重启 Whistle:w2 restart。
Q3:如何共享配置?
方案
:导出规则文件(Rules → Export),或使用插件同步到团队。
结语
Whistle
的作者是中国的开发者 avwo(GitHub 用户名),该项目是开源工具,有用提升开发效率,结合
SwitchyOmega
可实现精准流量控制。通过机动的规则配置,开发者可以轻松应对接口调试、性能优化等场景。现在代码托管在 GitHub 上,遵循 MIT 协议,并由作者及开源社区共同维护。
开源时间
:2016 年
Star 数
:凌驾 14.8k(截至 2025 年 5 月),可见其广泛认可度。
中文文档美满
:社区支持友好(可通过 GitHub Issues 提交问题)。
插件生态
:支持第三方插件扩展功能(如 whistle.inspect、whistle.vase 等)。
Whistle GitHub 堆栈
:https://github.com/avwo/whistle
Whistle文档
:https://wproxy.org/whistle
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
伤心客
论坛元老
这个人很懒什么都没写!
楼主热帖
《百万IT毕业生的心声:IT专业大学生毕 ...
Java打怪之路----谷粒商场认证服务 ...
xtrabackup2版本和xtrabackup8版本对比 ...
Excelize 发布 2.6.1 版本,支持工作簿 ...
sqlserver导入sql文件的方式
原型设计工具比较及实践--滴爱音乐 ...
Flink-使用流批一体API统计单词数量 ...
Snowflake(雪花算法),什么情况下会 ...
SQL Server 2008下载及安装
基于 SpringBoot + MyBatis 的博客系统 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表