whistle是基于Node实现的跨平台web调试代理工具,类似的工具有windows平台上的Fiddler、mac平台上的Charles。针对web页用过各种调试方式,比如Android+Chrome://inspect、IOS+Safari。这些只针对特定的平台,必须连接数据线,完成同样的工作,whistle+weinre就够了。今天重点说下whistle的配置
安装与使用
npm install -g whistle
w2 start
访问这个连接 进入whistle配置页面 http://127.0.0.1:8899/
现在代理服务已经启动了,我们需要配置下代理,这样请求才能经过代理服务
配置电脑代理(mac)
http、https代理服务器配置为本地的8899端口 然后应用
访问https://goobe.io 发现提示不是私密连接,这是因为针对https的请求需要配置证书,现在找一个http的网站都困难,所以证书还是需要配置的
配置证书
参考下图 点击https 然后下载ca
打开下载的证书,选择系统-添加
新添加的证书默认是不受信任的,需要手动修改为始终信任
再次访问 就能看到所有的资源请求了
如果还是显示tunnel to,点击https 记得勾选Capture TUNNEL CONNECTS 再试下
chrome插件
填写代理服务器及端口,这个过程有点麻烦,关闭代理再打开需要重新填写,有没有什么方式能够灵活切换呢?
既然这么说了,肯定有。Proxy SwitchyOmega 轻松实现代理切换,搜索并从应用商店安装
安装后,浏览器右上角会有个圆按钮,点击选项-新建情景模式
我这里为方便区分,命名为本地whistle,切换到本地whistle,效果和之前手动配置的效果一样,如果不用了可以选择直接连接,是不是很方便?
配置手机代理
作为前端开发,不同型号真机的兼容是必须的,然而模拟器和真机是有差异的,这就需要用到真机调试了,前提是先配置好代理
代理设置
需要注意的是,因为whistle服务在电脑上启动,手机需要和电脑在同一局域网,换句话说就是连接同一个无线网
设置主机名/服务器和端口号
证书
如需代理https请求,需要下载证书,设置代理后,用系统自带浏览器访问 rootca.pro 根据提示下载
证书安装时,安卓和ios有点区别,参考图示操作
安卓
IOS
至此,准备工作都已经做好了,接下来看看具体怎么使用吧