专栏首页服务化进程Fiddler远程调试js

Fiddler远程调试js

使用Fiddler调试本地js

  在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭。通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳定性。更普遍的做法是,我们在开发环境中修改文件并验证,然后发布到生产环境。虽然安全,却比较繁琐。而利用Fiddler的可以修改HTTP数据的特性,我们就非常敏捷地基于生产环境修改并验证,确认后再发布。

假设我们发现这个页面有问题,需要修改所引用的js文件()。

第一步:用Fiddler查看页面的数据流列表,找到这个js文件的session

 tip: 最好是没有缓存的返回内容(Result Code是200),这样可以进行下一步的保存。不是200也没关系,你只要本地硬盘上有这个文件就好了。

第二步:将js文件保存到本地(如果本地已经有这个文件,可以跳过这步)

  在这个js session上右键点击,选择“Save – Response –Response Body…”,将js文件的内容保存到本地。记住存的位置,下面我们会用到这个保存下来的文件。

第三步:开启Fiddler的请求自动重定向功能

打开AutoResponder标签设置。有没有看到界面上有两个复选框?第一个的作用是开启或禁用自动重定向功能,我们就可以在下面添加重定向规则了。第二个复选框框勾上时,不影响那些没满足我们处理条件的请求。

第四步:创建重定向规则,将目标是这个js的HTTP请求重定向到本地文件

  我们可以通过“Add…”按钮手动添加规则,不过这个URL已经出现在我们的session列表中,可以直接拖动过来。在左侧的Session列表中选择第一步找到的session,拖动到AutoResponse标签中。这样就创建了一个针对这个URL的规则。

 Fiddler帮我们生成的规则是:

  • 当URL为:
  • 返回200,使用和Session 4一模一样的内容返回

  我们需要修改这个规则,

选择“Find a file…”,就可以选择本地的文件作为返回的body内容。

选择我们刚刚保存下来的文件。

  刷新一下浏览器页面,看一下session列表,如果像下面这样,这个session的底色是灰色的,那么恭喜你,你已经成功将这个请求重定向到本地文件了!

tip: 如果浏览器用的是Firefox,记得先清一下临时文件缓存,因为Firefox是真正的缓存,当判断文件的缓存还未过期时,就不会再发请求出来,Fiddler就获取不到了。

第五步:修改本地文件,进行测试

  我们在本地的js文件中加一句alert(‘hello’)

刷新浏览器,看看效果,如果alert出来,那就成功了。

  继续修改这个文件并测试,成功修复问题后,我们就可以发布修改后的文件了。

  小结:自动重定向功能是Fiddler最实用的功能,这里的Rule可以自由地设定,可以使用搜索(默认)、精确匹配(EXACT)、正则表达式匹配(REGEX)。处理方式可以选择使用文件,也可以选择合适的时间暂停数据流(*bpu、*bpafter),人工干预。通过以上几个步骤,我们演示了怎样将HTTP请求重定向到本地的文件,进行web调试。这种调试方式不需要发布到线上再验证,避免了修改不成功、对用户造成影响的风险,而且不需要搭建复杂的开发服务器等开发环境,非常适合快速web调试。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • quartz监控日志(二)添加监听器

    上一章介绍监控job有三种方案,其实还有一个简单方案是实现quartz的TriggerListener。

    一笠风雨任生平
  • my97DatePicker选择年、季度、月、周、日

    <input id="d1212" class="Wdate" type="text" onfocus="WdatePicker({dateFmt:'yyyy年...

    一笠风雨任生平
  • tomcat发布两个项目报错webAppKey重复设置

    org.springframework.web.util.Log4jConfigListener

    一笠风雨任生平
  • 使用node小技巧之通过监管员supervisor工具实现热更新

    当你通过Node.js来创建HTTP服务并运行后,由于Node.js只有在第一次引用时才会解析你的脚本,以后的访问均是在内存当中进行的,所以当你不管修改了代码的...

    用户1272076
  • 批处理/命令行合并js,递归合并子目录js文件

    用户1258909
  • Webpack 4教程 - 第四部分,使用SplitChunksPlugin分离代码

    Webpack 4 给我们带来了一些变化。其中包括更快地打包,引入了SplitChunksPlugin,并淘汰掉之前的CommomsChunksPlugin。在...

    葡萄城控件
  • 12.1 有关文件的基本概念

    1、文件(file)是由大量性质相同的记录组成的集合。可按其记录的类型不同而分成两类:操作系统的文件和数据库文件。

    C语言入门到精通
  • 开发者必备的12个JavaScript库

    现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计。为了方便大家发挥自己的创...

    李海彬
  • 码云推荐 | tabris.js + restify + 码云打造个人 APP

    前言: 从9月初开始到现在,我一直在寻找一个适合自己的,可以跨平台的开发APP的js框架。 虽然之前自己也有陆续接触过Weex,React Native,F...

    码云Gitee
  • 命令行启动Angular应用

    Your global Angular CLI version (7.3.3) is greater than your local version (7.3...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券