Fiddler调试技巧

Fiddler是个很强大的抓包代理工具,它在远程调试、模拟请求等方面都提供了强大的功能支持。下面将列出一些在我工做中使用到的比较实用的技巧。前端

手机链接代理调试

这个是移动端开发中很是经常使用的技巧,在PC端能够直接在chrome上F12查看网络请求等数据,但在手机端却看不到这些数据,因此咱们能够利用Fiddler来抓包调试。很是简单,直接手机上配置Fiddler代理地址便可,代理地址为你PC端ip:Fiddler端口号:nginx

图片描述

Fiddler链接远程服务器

代理服务器就像一个个拦截器,网络请求能够通过多个代理服务器,因此你能够在你的Fiddler上配置下一个代理服务器。例如,为了本地开发时域名跟生产保持一致,咱们可能使用nginx代理服务器作处理,那么若是你将页面代理到本地Fiddler上而不作其余配置,就没有通过原来的nginx代理,这样可能会致使一些问题,因此你能够在Fiddler上配置下一个代理。配置方法也很简单,以下图:git

图片描述

伪造数据返回

在开发过程当中,可能会遇到后端接口未给出,前端页面已开发完成了,这时难道咱们就只能苦等后端给接口来联调吗?no!这时咱们能够本身作本地调试:根据接口文档拟一份json数据,Fiddler拦截请求并返回本地json数据:github

图片描述

强大的Fiddler Script

Fiddler Script是Fiddler的一个脚本文件,是用JScript.NET语言编写的,相似C#,能够修改其代码,修改后无需重启Fiddler代码会立刻生效。能够上Fiddler插件官网下载FiddlerScript Editor,支持语法高亮等。很少说,直接贴图:ajax

图片描述

图片描述

下面举两个修改Script脚本的栗子:chrome

模拟低网速网络环境

页面的一些样式问题多是因为低网速形成的,若是想调试这种状况,哈,Fiddler恰好也有这种技能哦。下面是Script脚本中定义请求延时和响应延时的相关代码:json

图片描述

默认值是300和150,能够按需修改数值,而后再应用:(若是不打勾,上面的m_SimulateModem为false,不会有网络延迟)segmentfault

图片描述

模拟跨域

聪明的童鞋可能看出上面“伪造数据返回”可能会有跨域问题,若是先后端异域(什么是跨域?请参考个人另外一篇文章),就会有跨域的问题。根据CORS原理,可使用Fiddler来解决这种问题。假设前端域名client.com发ajax请求给后端server.com,可以下配置解决跨域问题:后端

图片描述

console日志打印

为了调试方面,咱们常常会使用console打印日志到控制台,在Chrome开发者工具下能够看到输出结果。可是在移动端呢,可能咱们会选择用alert这种龊到爆的方式解决吧(╯^╰〉,好吧,我以前就是用这么龊的方法。。
后来被我发现了一个好用的插件,微信团队产的rosin。他们家的文档写得很详细了,这里就再也不赘述了,请看文档:http://alloyteam.github.io/Ro...跨域

相关文章
相关标签/搜索