Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端。使用了Fiddler之后,web客户端和服务器的请求如下所示:

Fiddler工具的安装较为简单,从官网下载安装包,按照软件的安装向导即可完成安装,就不再详述了。

1、代理模式

Fiddler的代理模式可以分为缓冲模式(buffering)和流模式(streaming),默认情况下是缓冲模式。

缓冲模式:http请求的所有数据都准备好之后,才会返回给客户端,可以控制最后服务器的响应。

流模式:可以实时把服务器数据返回给客户端,更接近于浏览器本身真实的行为。

2、使用场景

  • 配置开发环境的HOSTS

通常情况下,配置host需要改系统文件,很不方便。Fiddler提供了相对高效的host配置方法。

  • 前后端接口测试

在界面中通过不同的请求方式,发送需要的数据,测试接口是否可以正常使用,不需要写大量的JavaScript代码来测试接口。个人更倾向于在项目代码中给接口发送请求,在浏览器的开发工具中查看接口的返回情况,看个人习惯吧。

  • 定位线上bug

可以将发布上线的文件代理到本地,快速定位线上bug。将已经线上发布的文件代理到本地,再次发送请求的时候便不会再请求线上的该文件,而是直接请求本地的代理文件,通过修改本地的文件,查看线上bug是否修复。

  • 性能分析和优化

Fiddler提供跟请求性能相关的信息,清晰明了。

3、常用的操作

  • 会话的回放

选择会话列表中的一个请求,点击菜单栏中的“Replay”按钮或者快捷键R,可以再次发送该请求。

  • 清空会话

在会话列表中随便点击一个请求,快捷键Ctrl+x或者菜单栏中的x标志的remove功能。

  • 修改HOSTS

  • Fiddler把服务器端的文件代理到本地

在监控面板的右侧点击”AutoResponder“选项卡,选择”Enable rules“前面的复选框,把监控面板中已经发出的请求中需要代理的文件的链接拖动AutoResponder面板中,然后设置返回的结果,返回的结果可以是不同的状态码或者本地文件,再次发出请求时,Fiddler不会把请求代理到服务器,而是返回设置好的响应结果。方便测试在本地的修改是否解决了线上的bug。

  • 使用composer选项卡实现前后端联调

把监控面板中的请求拖动到Composer面板中(或者在Composer面板中手动填写请求),可以修改请求的各种参数,然后点击“Execute”,在监控面板的会话中查看返回的结果,通过传入不同的参数来向服务器发送不同的请求。

使用get方式的时候,参数是加载url后面的,使用post方式,要把参数添加在Request Body中各个参数之间用&连接。

目前在工作中也只是用到了上面的这些操作,其他操作慢慢再摸索吧。

如有问题,欢迎留言(・∀・)

Fiddler的学习之路的更多相关文章

  1. 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问

    中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...

  2. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  3. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  4. RPC远程过程调用学习之路(一):用最原始代码还原PRC框架

    RPC: Remote Procedure Call 远程过程调用,即业务的具体实现不是在自己系统中,需要从其他系统中进行调用实现,所以在系统间进行数据交互时经常使用. rpc的实现方式有很多,可以通 ...

  5. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

    webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...

  6. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

  7. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  8. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

  9. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

随机推荐

  1. 【linux基础】如何确定系统使用的Eigen库的版本

    path /usr/include/eigen3/Eigen/src/Core/util 文件 Macros.h #define EIGEN_WORLD_VERSION 3 #define EIGEN ...

  2. 【opencv基础】OpenCV installation stuck at [ 98%] Built target opencv_perf_stitching with no error

    前言 按照官网步骤安装opencv的过程中进行到98%时一直没有继续进行. 原因 后台一直在编译运行,只需等待即可,参考here: well, turns out it gets stuck for ...

  3. [LeetCode&Python] Problem 543. Diameter of Binary Tree

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...

  4. JAVA 第四章 数组

    数组保存的是一组有顺序的.具有相同类型的数据. 1.创建: 数组的声明格式: int arrary[]; int [] array1, array2; //同时声明多个数组. 上面的语句只是对数组进行 ...

  5. Gym.102006:Syrian Collegiate Programming Contest(寒假自训第11场)

    学习了“叙利亚”这个单词:比较温和的一场:几何的板子eps太小了,坑了几发. A .Hello SCPC 2018! 题意:给定一个排列,问它是否满足,前面4个是有序的,而且前面4个比后面的都小. 思 ...

  6. rest-framework之响应器(渲染器)

    rest-framework之响应器(渲染器) 本文目录 一 作用 二 内置渲染器 三 局部使用 四 全局使用 五 自定义显示模版 回到目录 一 作用 根据 用户请求URL 或 用户可接受的类型,筛选 ...

  7. WordPress博客插入直播源

    方法很简单: 找到直播源地址,撰写新文章(可视化切换到文本模式下)插入直播源地址 代码:<iframe id="tv_iframe" width="880" ...

  8. Js 向表单中添加多个元素

    @{ ViewBag.title = "地图导航"; } @model YT.XWAJ.Public.Application.MapNavigation.Dto.MapNaviga ...

  9. LG3275 【[SCOI2011]糖果】

    前言 我对差分约束有我个人独特的看法,写这题解既是与大家分享,又算作我对差分约束系统的总结. 浅谈差分约束 对于一些给出形如\(x_i-x_j\leq a\)不等式(差分约束)组,求\(x_t-x_s ...

  10. 从 Godaddy 转移域名到 Namesilo

    域名本来是在 Godaddy 上注册的,首付很便宜,但是续费时发现是个坑,续费一年是 102 元,再加上隐私保护 60元/年,总共一年需要 160 元,续费贵而且一点优惠也没. 对比下其他商家一年只要 ...