关于whistle
whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,
类似的工具有Windows平台上的Fiddler,主要用于查看、修改HTTP、HTTPS、Websocket的请求、
响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,
whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、
正则表达式、通配符、通配路径等多种匹配方式,且可以通过Node模块扩展功能:
安装启动
1 安装whistle
$ npm install -g whistle
2 启动whistle
$ w2 start
3 停止whistle
$ w2 stop
4 配置代理
1:代理服务器:127.0.0.1
2:默认端口:8899
5 代理配置方式
1:Mac: System Preferences > Network > Advanced > Proxies > HTTP or HTTPS
2:Linux: Settings > Network > VPN > Network Proxy > Manual
3: 浏览器代理,安装Chrome代理插件:推荐安装SwitchyOmega
4:移动端需要在设置中配置当前Wi-Fi的代理
快速上手
rules功能
1 设置hosts
1 | www.ifeng.com 127.0.0.1 |
2 指定www.ifeng.com的ip和端口,把请求转发到本地8080端口,这个在平时开发中可以用来去掉url中的端口号:
1 | # www.ifeng.com 127.0.0.1 |
3 也可以用某个域名的ip设置hosts
1 | www.ifeng.com host://www.qq.com:8080 |
匹配模式
域名匹配
1:域名匹配,不仅支持匹配某个域名,也可以限定端口号、协议(http、https、ws、wss、tunnel)
,如果operatorURI不为请求路径,pattern和operatorURI位置可以调换:
1 | # 匹配域名www.test.com下的所有请求,包括http、https、ws、wss,tunnel |
路径匹配
1:指定匹配某个路径,也可以限定端口号、协议(http、https、ws、wss)
等等,如果operatorURI不为请求路径,pattern和operatorURI位置可以调换。
1 | # 限定请求协议,只能匹配http请求 |