whistle

whistle--全新的跨平台web调试工具

▼魔方 西西 提交于 2019-12-05 13:28:24
版权声明:本文由吴文斌原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/151 来源:腾云阁 https://www.qcloud.com/community whistle是基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler+Willow,基于Java实现的Charles,及公司同事基于Node实现的Livepool等等;whistle与所有的web调试代理工具一样,主要功能也是用于查看、修改HTTP、HTTPS、Websockt的请求响应或者作为HTTP代理服务器,但不同于Fildder+Willow、Charles和Livepool通过断点的方式修改请求响应,whistle采用的是类似配置Hosts方式,通过配置修改请求响应,且提供规则分组功能及通过域名、路径、正则三种匹配方式(系统的hosts配置只支持域名匹配),特别针对终端调试提供了weinre,log等功能,并支持通过Node模块进行扩展。 基本功能 Github地址 安装启动 安装启动whistle,需要以下四个步骤: 安装node、安装whistle、启动whistle、配置代理。 安装Node(建议安装最新版本,LTS版本或当前版本都可以,如果已安装可以忽略此步骤): https://nodejs

whistle匹配模式

醉酒当歌 提交于 2019-11-30 12:39:37
a. 基本匹配: # 匹配域名www.qq.com下的所有请求 www.qq.com operatorURI # 匹配域名www.qq.com下的所有http请求 http://www.qq.com operatorURI # 匹配域名www.qq.com下的所有https请求 https://www.qq.com operatorURI # 限定域名的端口号 www.qq.com:8888 operatorURI # 8888端口 #限定具体路径 http://www.qq.com/xxx operatorURI # 精确匹配 , 以$符号开头 $http://www.qq.com/xxx operatorURI b.正则匹配: /http:\/\/(.*)/ log:// c. 通配符匹配 # 通配符匹配,以 ^ 开头(如果需要限制结束位置可以用 $),* 为通配符 ^www.example.com/test/*** operatorURI # 通配域名匹配: # 匹配二级域名以 .com 结尾的所有url,如: test.com, abc.com,但不包含 *.xxx.com *.com operatorURI //*.com operatorURI # 通配路径匹配: # 对所有域名对应的路径 protocol://a.b.c/xxx[/yyy]都生效 */

策略模式

落花浮王杯 提交于 2019-11-29 16:43:38
策略模式采用组合的形式,把一个算法任务委托给被组合的接口,根据运行时传入对象的不同,算法可以做到相互替换,同时这些变化可以独立于具体的使用者。 例如,一般车上都会有喇叭,不同的车喇叭的声音不一样,将车抽象成一个接口如下: 1 public interface Vehicle{ 2 void whistle(); //鸣笛 3 } 我们都知道,自行车按铃是“铃铃铃”的声音,而小汽车则是“嘀嘀”声,它们都实现了Vehicle接口: 1 public class Bike implements Vehicle{ 2 public void whistle(){ 3 System.out.println("铃铃铃。。。"); 4 } 5 } 6 7 public class implements Vehicle{ 8 public void whistle(){ 9 System.out.println("嘀嘀。。。"); 10 } 11 } 现在,自行车和小汽车都能够正常的鸣笛了。然而,这种类结构有一个问题,假设小汽车的喇叭坏了,这个时候调用它的 whistle 方法没有发出任何声音,我们需要换一个喇叭。然而由于 whistle 方法是与具体的车(Car)绑定在一起了,要换喇叭,只能连车一起换了,这显然不划算,所以需要将喇叭与车进行重新设计,让喇叭只是作为车里面的一个可以随时更换的配件