前端调试用whistle就够了(一)

733 阅读2分钟

whistle是基于Node实现的跨平台web调试代理工具,类似的工具有windows平台上的Fiddler、mac平台上的Charles。针对web页用过各种调试方式,比如Android+Chrome://inspectIOS+Safari。这些只针对特定的平台,必须连接数据线,完成同样的工作,whistle+weinre就够了。今天重点说下whistle的配置

安装与使用

npm install -g whistle
w2 start

image-20220314071823582

访问这个连接 进入whistle配置页面 http://127.0.0.1:8899/

现在代理服务已经启动了,我们需要配置下代理,这样请求才能经过代理服务

配置电脑代理(mac)

httphttps代理服务器配置为本地的8899端口 然后应用

image-20220312144549276

访问https://goobe.io 发现提示不是私密连接,这是因为针对https的请求需要配置证书,现在找一个http的网站都困难,所以证书还是需要配置的

image-20220313232714331

配置证书

参考下图 点击https 然后下载ca

image-20220312152410045

打开下载的证书,选择系统-添加

image-20220312145521918

新添加的证书默认是不受信任的,需要手动修改为始终信任

image-20220312145957356

image-20220312150031843

再次访问 就能看到所有的资源请求了

image-20220312150629615

如果还是显示tunnel to,点击https 记得勾选Capture TUNNEL CONNECTS 再试下

chrome插件

填写代理服务器及端口,这个过程有点麻烦,关闭代理再打开需要重新填写,有没有什么方式能够灵活切换呢?

既然这么说了,肯定有。Proxy SwitchyOmega 轻松实现代理切换,搜索并从应用商店安装

image-20220312151610249

安装后,浏览器右上角会有个圆按钮,点击选项-新建情景模式

image-20220312151939330

我这里为方便区分,命名为本地whistle,切换到本地whistle,效果和之前手动配置的效果一样,如果不用了可以选择直接连接,是不是很方便?

image-20220312152126288

配置手机代理

作为前端开发,不同型号真机的兼容是必须的,然而模拟器和真机是有差异的,这就需要用到真机调试了,前提是先配置好代理

代理设置

需要注意的是,因为whistle服务在电脑上启动,手机需要和电脑在同一局域网,换句话说就是连接同一个无线网

设置主机名/服务器和端口号

proxy

证书

如需代理https请求,需要下载证书,设置代理后,用系统自带浏览器访问 rootca.pro 根据提示下载

证书安装时,安卓和ios有点区别,参考图示操作

安卓

android-ca

IOS

ios-ca

至此,准备工作都已经做好了,接下来看看具体怎么使用吧