1. Fiddler 简介

  Fiddler是介于浏览器客户端和服务器之间的端口监听服务。如下图所示:他类似于中间的代理服务器,当使用fiddler时,请求直接发送到fiddler代理网桥,fiddler将请求转发给服务器,同样,服务器的响应也发送给fiddler,fiddler将请求转发给浏览器。对于客户端浏览器,Fiddler 客户端就是是web服务器,对于web服务器,Fiddler模拟web浏览器。在这个过程中,Fiddler截取和记录所有传入的和传出的消息。

  Fiddler sits between HTTP client nd server nd listened on port. s the finger below, it cts s €œmn-in-the-middle€ proxy, when using fiddler, the requests is being sent directly to Fiddler proxy bridge, Fiddler will forwrd the request to rel server, Likewise, the response from server is lso sent to the fiddler, fiddler will forwrd it to the browser. To the client browser, Fiddler clims to be the web server, nd to the web server, Fiddler mimics the web browser. In this process, Fiddler intercepts nd records ll the incoming nd outgoing messges.

功能:

  • 针对特定的请求过滤
  • 分析请求和响应的数据、
  • 设置断点、调试、修改请求的数据,
  • 修改服务器返回的数据

下载地址:https://www.telerik.com/fiddler

注意:在安装过程中可能会要求关闭全部浏览器

2. 首次使用

界面如下:

2.1 检查会话

fiddler界面中显示了捕获到的所有HTTP和HTTPS会话,这些消息包括如下关键信息:

# – An ID# of the request generated by Fiddler for your convenience
Result – The Result code from the HTTP Response
Protocol – The Protocol (HTTP/HTTPS/FTP) used by this session
Host – The hostname of the server to which the request was sent
URL – The path and file requested from the server
Body – The number of bytes in the Response body
Caching – Values from the Response’s Expires or Cache-Control headers
Process – The local Windows Process from which the traffic originated
Content-Type – The Content-Type header from the Response
Custom – A text field you can set via scripting
Comments – A text field you can set from scripting or the session’s context menu

每种类型的项目在左边都有一个自己的图标,下面是所有图标的列表。

2.2 Check Fiddler Inspectors

 Request Inspectors
[RW] Headers Shows request headers and status.
[RW] TextView Shows the request body in a text box.
[RW] HexView ”Shows the request body in a hexadecimal view.
[RO] XML Shows the request body as an XML DOM in a tree view.
Response Inspectors
[RW] Transformer Removes GZip, DEFLATE, and CHUNKED encodings for easier debugging.
[RW] Headers Shows response headers and status.
[RW] TextView Shows the response body in a text box.
[RW] HexView Shows the response body in a hexadecimal view.
[RO] ImageView Shows the response body as an Image. Supports all .NET image formats.
[RO] XML Shows the response body as an XML DOM in a tree view.
[RO] Privacy Explains the P3P statement in the response headers, if present.

2.3 Check sttistics of the request

  • Sttistics--显示所选HTTP会话的性能统计数据
  • Inspectors--
  • utoResponder---自动回复
  • FiddlerScript-------Fiddler 脚本
  • Log-----log日志
  • Filters--过滤器
  • Timeline--时间表
  • Composer 设计改动报文

3.其他

3.1. 抓取https请求

点击 Fiddler->Tools -> Options,在 HTTPS 面板选中。做如下所示操作,并安装(需重启Fiddler生效)。

3.2. 抓取手机请求

如果想要捕获手机上的通信数据,就需要手机连接上Fiddler代理,而Fiddler默认是不允许其他设备进行连接的

a. 首先安装fiddler的电脑,跟手机需在同一局域网内

b. 点击 Fiddler->Tools -> Options,在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接(需重启Fiddler生效)。

c. 手机上配置代理,并安装Fiddler的安装证书

3.3. 需代码处理部分

Rules -> Customize Rules  打开Fiddler ScriptEditor,这里可以通过修改脚本中某些方法( OnBeforeRequest(oSession: Session)),来改变请求报文,或者返回报文中信息

注意:代码调整之后,一定要重启Fiddler重新加载CustomRules.js。

如何解决Fiddler 修改返回内容 OnBeforeResponse 无效的问题?
问题关键点是:必须在OnBeforeResponse前,设置oSession.bBufferResponse = true;
顾名思义,开启了缓存模式来处理返回内容,才能最终反馈到浏览器上,否则,保持原有的流式模式的话,就会出现修改和返回同时进行,浏览器得到的还是原版的数据。
建议在OnPeektResponseHeders中根据需要,设置bBufferResponse 。
添加的代码如下: sttic function OnPeektResponseHeders(oSession: Session) {
if (oSession.uriContins("flow/intercept")){
oSession.bBufferResponse = true; //需要在返回头这里设置buffer处理,否则,后续无法在onBeforeResponse中修改body(修改的动作不会阻塞原来的返回)
}
}

3.4 Fiddler中的Tool

编码小工具TextWizrd,如何使用呢?

1、点击TextWizrd,当鼠标放上去时,有解释:lunch the textwizrd to encode/decode text ,顾名思义:编码/解码文本的

4.参考资料

Fiddler tutoril – How to use Fiddler

Fiddler 学习

接口测试工具--Fiddler 的使用的更多相关文章

  1. 玩转接口测试工具fiddler 教程系列1

    我们在做web测试的时候,很多时候需要查看接口发送的数据返回的数据是否正常,这样可以排除是客户端的问题还是服务器的问题,举个例子来说,如果我们发现页面上面数据少了, 通过fiddler查看数据返回就少 ...

  2. 接口测试工具-fiddler的运用

    本篇主要介绍一下fiddler的基本运用,包括查看接口请求方式,状态响应码,如何进行接口测试等 一.Fiddler的优点 独立的可以直接抓http请求 小巧.功能完善 快捷.启动就行 代理方便 二.什 ...

  3. 接口测试工具-fiddler

    1.fiddler拦截修改数据 命令介绍: bpu在请求开始时中断,bpafter在响应到达时中断,bps在特定http状态码时中断,bpv/bpm在特定请求method时中断. 提示:命令输入区域输 ...

  4. python接口自动化(四)--接口测试工具介绍(详解)

    简介 “工欲善其事必先利其器”,通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进行接口测试,能够提供 ...

  5. 接口测试Jmeter+Fiddler组合

    接口测试Jmeter+Fiddler组合 在使用完Jmeter在做接口测试之后,个人感觉Jmeter比loadrunner好用,原因是界面操作更加直观,不必像loadrunner在写接口请求函数的时候 ...

  6. Python接口测试实战1(下)- 接口测试工具的使用

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  7. postman接口测试工具的常规使用

    目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...

  8. 接口测试基础--Fiddler、Postman、Python实现对接口的测试

    写在前面:本文主要的章节规划: 1.什么是接口测试    另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处:      其中, ...

  9. C#进阶系列——WebApi 接口测试工具:WebApiTestClient

    前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...

随机推荐

  1. [BZOJ3940]:[Usaco2015 Feb]Censoring(AC自动机)

    题目传送门 题目描述: FJ把杂志上所有的文章摘抄了下来并把它变成了一个长度不超过105的字符串S.他有一个包含n个单词的列表,列表里的n个单词记为t1…tN.他希望从S中删除这些单词.FJ每次在S中 ...

  2. IOS学习笔记37——ViewController生命周期详解

    在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它.ViewContro ...

  3. 去BAT,你应该要看一看的面试经验总结

    我去年12月份从上一家公司离职,一直到今年3月份,基本上都在面试中度过来的. 先交代下背景:坐标上海,做技术开发,我本人面试的职位是linux服务器开发,最倾向的职位是服务器开发主程或技术经理.我本人 ...

  4. HDU-3746-Cyclic Nacklace(KMP,循环节)

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...

  5. docker使用阿里云镜像仓库docker

    1:阿里云docker仓库 https://dev.aliyun.com/search.html 2:进去注册帐号后,点击自己的管理中心. 3:在管理中心点击加速器,右边面板会有你的加速地址,右边面板 ...

  6. JS提前声明和定义方式

    来源:JS的函数定义方式以及对声明的提前 以下代码,声明语句会被提前到当前作用域(全局作用域和函数作用域)的顶部.但赋值语句不会提前,依然留在原地 var x = function(){}; var ...

  7. 【HIHOCODER 1039】 字符消除

    链接 问题描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消除过程是如下进行的: 1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被 ...

  8. PS修图知识小结

    PS修图知识小结   [1]人去除红眼. 1.用红眼工具,框选红眼不分. 2.用椭圆选区工具,选择红眼部分 3..创建调整图层,亮度.对比度.加大对比度. 4.选择红眼部分.创建调整图层,可选颜色,减 ...

  9. C 的指针和内存泄漏

    引言 对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏 ...

  10. Vijos1655 - 萌萌的糖果博弈

    Portal Description 两人轮流操作两堆初始数量分别为\(a,b(a,b\leq2^{127})\)的石子.每人每次进行如下操作: 取走一堆石子,并将另一堆分成两个非零堆. 如果另一堆只 ...