1-13

上一篇(介绍篇)中,我们对Fiddler Web Debugger有了简单的接触,也许你已经开始在用Fiddler进行HTTP相关的调试,在这一篇,我们将通过一个实例了解Fiddler的神奇魔法。

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

假设我们发现这个页面有问题,需要修改所引用的js文件(http://www.aliued.cn/wp-includes/js/comment-reply.js?ver=20090102)。

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

image_thumb

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

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

image1

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

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

image2

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

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

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

image3

Fiddler帮我们生成的规则是:

我们需要修改这个规则,

image_thumb1

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

image5

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

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

image6

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

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

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

image7

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

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

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

延伸阅读:

  1. Fiddler使用帮助
  2. Fiddler AutoResponder标签说明

Category: 前端

TAG , , , ,

40 responses

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. […] 延升阅读:使用Fiddler提高前端工作效率 (实例篇) 标签:debugger,fiddler,web […]

  2. Jasonlee says:

    哇,终于找到详细讲解Fiddler的文章了!
    @qhwa 辛苦了!
    以前用Firebug多!现在应该也要多用Fiddler了

  3. 张鑫旭 says:

    这个保存到本地修改的功能很不错,在异地修复一些前端问题的时候,无须下载整个文件了。

  4. 康节互联 says:

    阿里巴巴都收购万网了,怎么他员工的博客速度还这么慢呢?

  5. qhwa says:

    用的是我私人的服务器放图片 -__-!
    改一下,呵呵

  6. asdasd says:

    alert(“hello”);

  7. Allen.M says:

    LS的人在试漏洞吗? 🙁

  8. Sway says:

    用Fiddler模拟返回数据,这个功能有意思

  9. kaigo says:

    要压缩js文件。

  10. 九淘网 says:

    貌似是在测试漏洞

  11. pplock says:

    嗯,不错,这个对于修改脚本更有效率,不然在测试服务器上调试后再放到生产环境,来回的时间就多了

  12. 不知道你们的电子杂志什么时候能看,呵呵

  13. 优惠券 says:

    呵呵,好多了

  14. meng says:

    Fiddler可以获取IP地址吗? 比如上面例子中的http://www.aliued.cn/?p=

  15. @meng
    ping一下地址不就有了

  16. meng says:

    @天堂左我往右
    不是这个意思的了,我说的是在一些分机的url上面。可能这次这个url是这个ip,下一次访问又是另一个IP

  17. kai.ma says:

    很实用,明天推荐到前端组

  18. orzzzzz says:

    要是监控截获后的session列表能够再filter就好了.
    目前只能butall/keeponly,select type之类的,还不是很实用.

    如果能够filter filter.php,然后只列出url包含filter.php之类的……

    还有调试不太方便的是要在浏览器/fiddler间切换.不能在一个视图中.

  19. Yes agree with the largest part of what’s getting said here, I’m thankful I discovered this topic. 🙂 I was just enjoying a dialogue concerning this subject in the company of my smart father at the jobsite.

  20. […] 原文:http://www.aliued.cn/?p=2581 上一篇: 使用Fiddler提高前端工作效率 (介绍篇) 标签: 调试,前端 本文链接: 使用Fiddler提高前端工作效率 (实例篇) 版权所有: WEB前端技术分享, 转载请注明本文出 cT="1";nc="#0033CC";nBgc="#FFEEE6";nBorder="#FF9966";tc="#FFFFFF";tBgc="#FE1923";tBorder="#B11418";tDigg="";tDugg="";defaultItemUrl="WEB_URL";defaultFeedUrl ="http://feed.bbon.cn/"; […]

  21. monika says:

    你好,不知道如果后台对js进行了压缩如何重定向?因为客户端没有压缩后的文件,不太好跟踪

  22. Stumbled across your editorial at the same time as looking via bing. I study the beginning and its brilliant! I don’t have time for you to finish it now, but I’ve bookmarked your internet site and will study the rest later. : )

  23. […] 延升阅读:使用Fiddler提高前端工作效率 (实例篇) […]

  24. […] 延升阅读:使用Fiddler提高前端工作效率 (实例篇) If you enjoyed this article, please consider sharing it!   […]

  25. Audislee says:

    good job

    3Q

  26. […] 本文引自:http://www.aliued.cn/2010/04/25/use-fiddler-to-improve-efficiency-of-front-development-example.html […]

  27. pirater says:

    具不错这个,给力

  28. […] 4、用fiddler将要访问时的swf替换成本地的swf(查看fiddler的用法:http://www.aliued.cn/2010/04/25/use-fiddler-to-improve-efficiency-of-front-development-example.html) 5、enjoy it! 转贴: 1 views 永久链接|分类:技术分享 if (typeof DUOSHUO !== 'undefined') DUOSHUO.EmbedThread('.ds-thread'); Copyright © 2012 Kanefan 开饭哥 All rights reserved Theme By Danhuaer […]

  29. xiaohan says:

    这个太实用了,这样测试生产线修改就方便多了

  30. 杜毅 says:

    这个用来黑大网站,很有快感。但对方的代码是压缩过的,怎么破?

  31. 杜毅 says:

    另外,因为公司使用的是git,感觉不到fidder在开发过程的强大。

  32. cccc says:

    已经有其它的相似的工具,而且单文件绿色便携版。

  33. 望 望 says:

    有兴趣一起交流下么。

  34. […] Fiddler可以保存和打开“SAZ”格式的文件,这样就可以将监听到的数据流保存下来,下次再重新打开分析。可以利用FiddlerCap——一个专门用来录制保存SAZ的小工具——保存SAZ文件。SAZ文件可以设置密码保护,比较贴心。 延升阅读:使用Fiddler提高前端工作效率 (实例篇) […]

  35. 猪八戒网用户(ZhuBaJie.Com)【yfkj_hyz】在SEO分类发布需求:百度seo推广。具体要求:2个关键词上百度首页…

  36. 博主的文章写得特别很是棒 很喜欢