赞
踩
whistle,拼音[wēisǒu])基于 Node 实现的跨平台 web 调试代理工具,类似的工具有 Windows 平台上的 Fiddler,主要用于查看、修改 HTTP、HTTPS、Websocket 的请求、响应,也可以作为 HTTP 代理服务器使用,不同于 Fiddler 通过断点修改请求响应的方式,whistle 采用的是类似配置系统 hosts 的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,且可以通过 Node 模块扩展功能。
npm install -g whistle
// Mac
sudo npm install -g whistle

这里还需要留意其他几个经常使用的命令
w2 help // 查看帮助,里面很多常用的命令
w2 restart // 重启 whistle
w2 stop // 停止 whistle
w2 run // 调试模式启动whistle(主要用于查看whistle的异常及插件开发)
-p 来指定新的端口

对于新手来说,我们先熟悉下 whistle 的界面,有个大概的印象
以下是 whistle 的界面,常见的几个选项:

whistle 使用的是类似代理的方式,Rules 版面下默认有一个 default 的分组,我们可以创建、重命名、删除一个分组,可以根据以下示例快速建立一个分组,如动图所示:

接下来,我们就可以在右侧建立一些规则了。我们来拿掘金做个演示吧,掘金推荐首页获取列表数据的接口为 https://apinew.juejin.im/recommend_api/v1/article/recommend_all_feed,以下是目前的页面,注意,该接口的响应头设置了 access-control-allow-origin: https://juejin.im

我们根据这个接口设置一条规则,以下规则表示完全匹配该接口,返回指定的juejinList.json数据,相当于 Mock 这个接口的返回.
# 完全匹配,相当于 Mock 这个接口的返回
https://apinew.juejin.im/recommend_api/v1/article/recommend_all_feed file://{juejinList.json}

查看效果,报错了,看看报错,跨域问题,线上的之所以没有报错,原因在于,线上的接口的响应头设置了 access-control-allow-origin: https://juejin.im,所以我们还应该 Access-Control-Allow-Origin 请求头

怎么办,就没有方法了么?当然不是,这个时候只需要多配置另外一条规则,总的规则如下:
https://apinew.juejin.im/recommend_api/v1/article/recommend_all_feed file://{juejinList.json}
https://apinew.juejin.im/recommend_api/v1/article/recommend_all_feed resCors://enable
上面的路径如果太长,可以用正则匹配替代。
查看效果,可以看到访问掘金推荐首页,返回了我们代理的数据了

https://www.qq.com reqHeaders://{loginCookie}
https://www.qq.com/some/ajax resHeaders://{CORSHeaders}
demo测试:
200.test.baidu.com reqCookies://{cookies.json}
dev-szom.back.baidu.com reqCookies://{cookies.json}
其中,200.test.baidu.com与dev-szom.back.baidu.com都是Ajax发送请求的域名,会根据正则匹配。
cookies.json的配置为:
{
"like": 'xiaoming',
name: 'wangnan'
}
https://www.qq.com statusCode://500
https://blog.csdn.net/ib_yeang/article/details/122047794
参考链接1:https://cloud.tencent.com/developer/article/1704552
参考链接2:https://github.com/avwo/whistle/issues/271
参考链接3:https://juejin.im/post/6844904137457565710
参考链接4: https://juejin.im/post/6844904137457565710#comment
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。