1.简介

在开发或者测试的过程中,由于项目环境比较多,往往需要来来回回地反复切换,那么如何优雅地切换呢?宏哥今天介绍几种方法供小伙伴或者童鞋们进行参考。

2.实际工作场景

2.1问题场景

(1)已发布线上APP出现接口错误,如何测试线上APP访问本地请求?

(2)已发布线上H5页面,静态资源或js调试,如何映射本地js?

2.2一般解决方案

猜测(一般明显问题)、找到原发布包,修改请求资源url重新打包测试。需要前后端协调配合,耗时费力。

2.3聪明人解决方案

fiddler映射响应:

通过fidder拦截,将需要加载的资源映射到本地开发环境,而无需切换测试版APP

例如线上资源:http://online.com/api/page

映射加载本地资源:http://127.0.0.1/api/page

3.切换实战

3.1插件(Stave插件)

Stave是一个Fiddler扩展插件,让Fiddler能将URL映射到本地目录,实现批量文件自动响应。

Fiddler自带的AutoResponder每条自动响应规则只能对应一个本地文件, 在文件数目较多的时候,使用起来很不方便,往往需要部署到本地web服务,有了Stave插件(扩展),一个URL匹配可以对应一个本地目录,URL规则也支持通配符,前端调试方便多了。

除支持URL映射到目录之外,还支持URL到URL的替换。

Stave扩展并不影响原本的AutoResponder功能,两者可以共同起作用。具体操作步骤如下:

1.下载Stave插件,这个可费了大劲了,首先宏哥得FQ访问这个插件的官网,可以访问官网了,结果一下载,才发现已经不维护了,下载链接已经失效了,然后在csdn上找到了一个,结果还要积分,充值后用价格不菲的积分下载了,完全不能用,后来才发现后边有评论已经说了不好用,怪我咯没有看请就着急地下载了,果然是心急吃不了热豆腐,后来辗转查资料各种找,终于下载了一款可以用的。如果你也发现下载特别费劲,那就关注宏哥的公众号“北京宏哥”后,发送“stave”关键字,来获取下载此插件安装包的方式吧!如下图所示:

2.双击安装包后,出现安装完成的,如下图所示:

3.重启Fiddler后,在右边的选项卡中没有看到这个插件,宏哥然后点击上图中的“Show detail”后,查看插件的安装目录,如下图所示:

4.根据安装目录找到安装的插件文件,如下图所示:

5.将Stave.dll文件拷贝到安装Fiddler的插件目录下,如下图所示:

6.重启Fiddler,可以在Fiddler的选项卡中看到这个Stave插件,一个音乐符号的图标,如下图所示:

从上图我们不难看出:本身stave插件的实列如上2个,第一个是替换单个文件的,第二个是替换目录的。接下来跟随宏哥一起来看看它们的如何配置的,具体步骤如下:

1.选中一个实例,右键-->编辑,如下图所示:

2.点击“编辑”后,打开编辑界面,如下图所示:

可以看到如上配置,我们回归今天文章的主题先来实践下吧!例如:还是要将百度首页的切换成博客园首页,具体操作步骤如下:

1.首先点击右侧,右键 --> 添加,如下图所示:

2.弹出添加规则页面,添加规则,点击“确定”,如下图所示:

3.浏览器访问百度,发现网址是www.baidu.com,但是浏览器访问的却是博客园首页,如下图所示:

3.2插件(Willow)

我们可以把Willow插件当作是AutoResponder工具和Tools —> HOSTS...功能的加强版。但是Willow插件对于Windows系统中的hosts文件的管理更加的丰富,可以根据不同的环境,比如测试环境,开发环境等,采用不同的主机规则。同理Willow插件对于AutoResponder工具也是一样的,Willow插件可以用工程的方式,来区分不同环境所需要的主机规则和自动响应规则,这个功能就非常的实用。

这款插件宏哥在讲解和介绍Fiddler的精选插件部分就已经重点介绍过了,这里就不做赘述了,宏哥这里直接演示如何使用,具体操作步骤如下:

1.在Willow插件中,右键Add Project(Ctrl+P)。如下图所示:

2.填写项目的名称为:demo,如下图所示:

3.选中项目,右键Add Rule(Ctrl+U),如下图所示:

4.填写Match(原始会话)和Action(替换动作),如下图所示:

5.再次刷新百度首页后,发现网址是www.baidu.com,但是浏览器访问的却是博客园首页,这是因为在访问百度首页网址的时候,Fiddler自动地将其替换成博客园的首页网址。如下图所示:

6.这款插件会把重定向的会话标识上颜色,如下图所示:

4.小结

Willow插件比Stave插件强大很多,而且Stave的功能,Willow插件都可以做到,这样Willow可以完全替代Stave插件,可能是因为这个原因官网不维护了,也可能是由于资金等其他原因。好了,今天时间也不早了,宏哥就讲解和分享到这里,感谢你耐心地阅读!!!

《吐血整理》高级系列教程-吃透Fiddler抓包教程(24)-Fiddler如何优雅地在正式和测试环境之间来回切换-中篇的更多相关文章

  1. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(23)-Fiddler如何优雅地在正式和测试环境之间来回切换-上篇

    1.简介 在开发或者测试的过程中,由于项目环境比较多,往往需要来来回回地反复切换,那么如何优雅地切换呢?宏哥今天介绍几种方法供小伙伴或者童鞋们进行参考. 2.实际工作场景 2.1问题场景 (1)已发布 ...

  2. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(25)-Fiddler如何优雅地在正式和测试环境之间来回切换-下篇

    1.简介 在开发或者测试的过程中,由于项目环境比较多,往往需要来来回回地反复切换,那么如何优雅地切换呢?宏哥今天介绍几种方法供小伙伴或者童鞋们进行参考. 2.实际工作场景 2.1问题场景 (1)已发布 ...

  3. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇

    1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...

  4. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包

    1.简介 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言.Flut ...

  5. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话

    1.简介 由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网.还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包, ...

  6. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(10)-Fiddler如何设置捕获Firefox浏览器的Https会话

    1.简介 经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会 ...

  7. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(11)-Fiddler设置安卓手机抓包,不会可是万万不行的!

    1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler能截获 Android 和 Windows Phone 等 ...

  8. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

    1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler 能捕获Android 和 Windows Phone 等 ...

  9. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者,再识AutoResponder标签-上篇

    1.简介 Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送.AutoResponder这个功能可以算的上是Fiddler最 ...

随机推荐

  1. CMU15445 (Fall 2019) 之 Project#4 - Logging & Recovery 详解

    前言 这是 Fall 2019 的最后一个实验,要求我们实现预写式日志.系统恢复和存档点功能,这三个功能分别对应三个类 LogManager.LogRecovery 和 CheckpointManag ...

  2. IDEA快捷键之html篇-1

      前端IDE中Emmet插件快捷输入HTML代码 前端IDE如VSCode.Atom.Sublime Text和Intellij Idea中使用Emmet插件快捷输入HTML代码的介绍 前端IDE中 ...

  3. 自定义注解_格式&本质和自定义注解_属性定义

    自定义注解: 格式: public @interface 注解名称{} 本质:注解本质上就是一个接口,该接口默认继承Annotation接口 public interface MyAnno exten ...

  4. 选择结构——嵌套 if 控制语句

    1.嵌套 if 控制语句 概念: 在 if 控制语句中又包含一个或多个 if 控制语句的简称为嵌套 if 控制语句.嵌套 if 控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性. 语法格式 ...

  5. The Data Way Vol.1|风口下的开源:如何看待开源与商业的关系?

    关于「The Data Way」 「The Data Way」是由 SphereEx 公司出品的一档播客节目.这里有开源.数据.技术的故事,同时我们关注开发者的工作日常,也讨论开发者的生活日常:我们聚 ...

  6. 套接字传输(TCP简单使用)

  7. ipi发送阻塞导致crash

    3.10的内核, 在子进程退出的时候,发送信号通知父进程,此时是持有父进程的sighand中的spinlock的,然后父进程和该子进程不在一个核上,发送ipi的reschedule中断给对应的核, 但 ...

  8. 【美国血统 American Heritage 题解】已知前序中序 求后序

    题目: 题目名称:美国血统 American Heritage 题目来源:美国血统 American Heritage ## 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的 ...

  9. Html飞机大战(八):子弹的移动和管理

    好家伙,这应该是这个小游戏最难的几个点之一了 现在我们要做出子弹射击的效果我们应该如何处理? 1.首先我们要确定几个变量和方法的关系 变量: 子弹  bullet  弹夹(用来装子弹的东西)bulle ...

  10. Windows平台RTMP/RTSP播放器实现实时音量调节

    为什么要做实时音量调节 RTMP或RTSP直播播放音量调节,主要用于多实例(多窗口)播放场景下,比如同时播放4路RTMP或RTSP流,如果音频全部打开,几路audio同时打开,可能会影响用户体验,我们 ...