接口测试(Fiddler工具)
目录
1.Fiddler是什么?
2.Fiddler的原理
3.Fiddler安装
4.Fiddler界面
4.1.常用工具
4.2 会话列表
4.3 状态栏
4.4 内容显示区
1.Fiddler是什么?
Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。
主要功能:
- 监控浏览器HTTP或HTTPS发送和接收的数据包
- 测试网站性能
- 通过抓取来往的数据包,分析网络问题
- 伪造客户端请求或服务器响应
- 解密HTTPS会话
Fiddler经常在接口测试,web应用性能分析,接口问题分析等场景中,也经常用在Mock工具,用来模拟请求或响应数据。
2.Fiddler的原理
Fiddler的位置:

Fiddler是位于浏览器和服务器之间的请求和响应代理,所以它可以截获浏览器和服务器之间的所有HTTP通讯,(可以打开Fiddler,然后使用chrome查看一下代理设置)
3.Fiddler安装
Fiddler | Web Debugging Proxy and Troubleshooting SolutionsExplore the Fiddler family of web debugging proxy tools and troubleshooting solutions. Easily debug, mock, capture, and modify web and network traffic.https://www.telerik.com/fiddler选择经典版选择!

根据要求填写基本信息!

找到安装包直接双击安装接口!



4.Fiddler界面

4.1.常用工具
为请求增加备注,在接口测试时可以对有问题的请求做备注,可以导出(File -》Export session)

保存所有的对话

导入,导出

再次发送请求,快捷键R, shift+r 可以输入重复发送的次数


删除请求,shift+delete 反向删除(即保留选中的请求,删除其他请求),ctrl+x清除所有的请求

代理端口号:


设置编码方式


和断点配合使用,执行下一步的意思

打断点:

直接刷新界面就可以进入断点了

在点一次就断点发送到浏览器 ,点第三次断点结束
解码(不是解密),即将机器可以看懂的编码解码为人可以看懂的信息

流模式,当服务器有内容回来时立即返回给浏览器,但在这种情况下断点模式会失效,默认使用缓存模式,即fiddler先接收到所有数据再给浏览器。

保持会话的数量,点击出现下拉列表可以选择需要保持的会话数量

用来选择需求监听HTTP请求的进程(应用),指向该按钮按住鼠标键可以以移动鼠标的方式选择需要监听的应用

查找功能,比较常用,快捷方式ctrl+f

保持所有会话,可以先将不需要的请求删除,整理除需要的,保存为一个文件。可以作为附件提交到bug记录,开发人员可以直接打开查看。

快捷打开浏览器

删除浏览器缓存

编码解码功能,可以方便我们查看信息的编码,比如我们向看看:你好世界,对应的base64编码长得啥样,可以用这个


分离面板,可以将右边的内容显示区分离成独立的显示窗口

在线信息,可以显示当前主机的IP

4.2 会话列表
用于展示每一个抓取的HTTP会话信息(session)
会话信息:
- ID号
- 状态码
- 协议
- 主机名
- url
- 内容类型
- body大小
- 进程信息
- 自定义备注,根据自己的需求 自己增加的说明信息,一般可以写简单的问题描述
增加显示IP列,以便于显示域名对应的IP地址:
1.打开Fiddler工具,Rules->Customize rules
2.Ctrl+F搜索"static function Main()"方法,添加以下代码:FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

4.3 状态栏
这个是快捷命令窗口

正在捕获HTTP会话,再次点击就关闭捕获

可以过滤会话
再All Process右边的空白区,可以点击断点,点击1次为请求前断点,点击2次为响应后断点。
4.4 内容显示区
该区域主要是用来显示选择的请求的详情信息,双击需要查看的请求即可。

请求的性能数据

检查器,检查请求信息,可以用来查看请求头,请求体,响应头,响应体等等信息。

支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器。通俗点讲,就是它能在不访问服务器的情况下,使发送的请求得到自己设置的响应。
在测试接口时,可以自定义返回内容,通过自定义的返回内容,进而测试程序接收到不同返回后,不同的处理逻辑

Composer的功能就是用来创建HTTP Request然后发送请求。 允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。
- 可以手写一个Request
- 在Web sessions会话列表中拖拽一个已有的Request
Componser可以用来篡改数据,包括Cookies中的数据也可改。

抓取手机APP的HTTP数据包

FiddlerScript 是Fiddler 的一项非常强大的功能,它允许你增强Fiddler UI,添加新的特性,修改请求与响应内容等等

过滤器,这个功能经常使用,用于定义需要抓取的数据包
相关文章:
接口测试(Fiddler工具)
目录 1.Fiddler是什么? 2.Fiddler的原理 3.Fiddler安装 4.Fiddler界面 4.1.常用工具 4.2 会话列表 4.3 状态栏 4.4 内容显示区 1.Fiddler是什么? Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。 主要功能&a…...
Debian/Ubuntu 安装和使用 perf 调试工具
为操作系统安装基本依赖环境:apt-get update -y apt-get upgrade -y apt-get install lrzsz zip unzip libkrb5-dev libicu-dev screen iftop openssl libssl-dev libunwind8 iftop net-tools gcc gdb cmake curl wget -y apt-get install gcc gdb cmake python-dev…...
【Python语言基础】——Python NumPy 数组连接
Python语言基础——Python NumPy 数组连接 文章目录 Python语言基础——Python NumPy 数组连接一、Python NumPy 数组连接一、Python NumPy 数组连接 连接 NumPy 数组 连接意味着将两个或多个数组的内容放在单个数组中。 在 SQL 中,我们基于键来连接表,而在 NumPy 中,我们按…...
解决IDEA报错:无效的目标发行版: 17
解决IDEA报错:无效的目标发行版: 17 目录解决IDEA报错:无效的目标发行版: 17报错由来解决报错【1】检查setting设置,查看编译器编译模块的编译版本是否是你需要的【2】尝试去修改当前项目的启动设置,设置JRE为你需要的版本。【3】…...
Redis第四讲
目录 四、Redis04 4.1 Redis集群应用场景 4.2 集群 4.2.1 基本原理 4.2.2 主从复制的作用 4.3 配置集群(一台虚拟机) 4.3.1 规划网络 4.3.2 创建节点 4.3.3 创建目录 4.3.4 配置redis7001.conf 4.3.5 配置其余文件 4.3.6 后台启动redis 4.3…...
Linux Ubuntu 软件安装与卸载
文章目录1 下载 deb 安装包后安装2 清理安装包3 卸载安装2 Ubuntu升级某个软件参考:1 下载 deb 安装包后安装 进入下载位置,执行 terminal sudo dpkg -i *.deb推荐sudo apt install *.deb 2 清理安装包 sudo apt-get install 会将下载的文件放在 /var…...
metasploit穷举模块
目录 工具介绍 常用模块 参数介绍 工具使用 工具介绍 Metasploit框架(Metasploit Framework, MSF)是一个开源工具, 旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的…...
day35 贪心算法 | 435、无重叠区间 763、划分字母区间 56、合并区间
题目 435、无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], […...
C++Primer15.5节练习
练习15.18: Base* p &d1:合法 p &d2:不合法,只有当派生类公有地继承基类时,用户代码才能使用派生类向基类的转换 p &d3:不合法,只有当派生类公有地继承基类时࿰…...
【日常点滴019】Python制作流浪气球游戏(导弹射击类)
Python制作流浪气球游戏(导弹射击类)教学课程代码(分步教学版)1、构建全局通用代码结构2、构建气球精灵类3、构建导弹精灵类4、碰撞检测5、构建游戏信息类 (最终完整代码)教学课程代码(分步教学…...
effective c++阅读之旅---条款29
为"异常安全"而努力是值得的! 什么是异常安全? 所谓的"异常安全",往往值得是函数接口的异常安全,它要求函数满足两个条件: 异常抛出时: 1、不泄露任何资源 2、不允许数据被破坏 异常安…...
Android system — 进程生命周期与ADJ
Android system — 进程oom_adj0. 引言1. 进程的生命周期1.1 Foreground process1.2 Visible process1.3 Service process1.4 Background process1.5 Empty process2. Lowmemorykiller2.1 ADJ级别2.2 进程state级别2.3 lmk策略2.4 如何查看应用oom_adj值3. 注意0. 引言 本文主要…...
vue3+ts+node个人博客系统(三)
一.主页顶部和中心面板布局 (1) 首先先去element-plus选择合适的布局el-container (2)在头部处编写相应的菜单栏el-menu,在这里要注意动态绑定路由的问题:default-active"$route.path"。将default-active设置为$route.path,el-me…...
Python第三方模块
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...
怎样查询PMP成绩?
【如何查询成绩】1、输入网址(PMI官网,不知道网址的私戳),点击 Log In如果忘记 PMI 的账号和密码了,怎么办?可以在你报名机构官网的个人中心的学习中心的我的报名处查看 PMI 的注册名和密码2、点击 Exam An…...
说说变量 __name__ 和它可能取到的一个值 __main__
结合 例子 弄懂 变量__name__ 和它的值’ main’这两个东西。 首先,明白两个定义, __name__是一个变量, __main__是个普通字符串,不是变量,但可以作为变量的值。 例子: 1.py 代码如下: if _…...
软考高级-信息系统管理师之整体管理(最新版)
整体管理 1、项目整体管理概述2、制定项目章程(选择,案例,论文)制定项目章程过程制定项目章程的依据1、协议2.项目工作说明书:3、商业论证4、事业环境因素包括,但不限于如下事项。5、组织过程资产:项目选择方法项目启动会议项目目标引导技术3、制订项目管理计划(选择)项目管…...
JVM学习篇垃圾收集器ParNewCMS与底层三色标记算法详解
1. 垃圾收集算法 2. 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法…...
基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制
当我们看到一些精彩的视频画面,但无法下载时,可以通过录屏的方式将视频和音频录制下来。 这个时候我们需要安装采集视频和音频的工具screen-capture-recorder。 以下是在windows10环境下,基于FFmpeg和Screen Capturer Recorder实现屏幕和声音…...
猿人学14题详解
目测重点在于cookie:mz和m 获取mz.js: https://match.yuanrenxue.com/static/match/match14/m.js 获取设置m: https://match.yuanrenxue.com/api/match/14/m 一、还原16进制 const fs require(fs); const parser require(babel/parser); const gen…...
hLife Collection | Oncology
1. Interactions between microbiota and innate immunity in tumor microenvironment: Novel insights into cancer progression and immunotherapy hLife | 肿瘤微环境中的微生物与固有免疫互作:肿瘤免疫治疗新视角 通信作者:徐冉、韩新巍 本文总结…...
宠物洗衣机推荐哪款性价比高?618十款性价比高的宠物洗衣机品牌大盘点!希亦/小吉等型号解密~
家里养宠的都懂,宠物窝垫、小毯子、口水巾、外出衣物,日常清洗又麻烦又容易滋生细菌异味,手洗费劲,普通洗衣机混洗还不卫生。618家电选购季临近,不少铲屎官都在纠结怎么选一台靠谱的宠物专用洗衣机。今天就给大家深度…...
零基础录音转日程教程包教包会避坑,看完就能直接上手
做销售近5年,日常需频繁跑客户拜访、对接客户,每次沟通结束后,将录音整理成待办日程都十分繁琐,先和大家分享我之前踩过的一些坑,不少同行可能也有类似经历。第一个坑是误以为录音转日程,只需先将录音转成文…...
抖音下载神器:如何一键批量保存无水印视频和音乐?
抖音下载神器:如何一键批量保存无水印视频和音乐? 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...
AI应用分布式追踪系统GranClaw:从OpenTelemetry到微服务排障实战
1. 项目概述:一个为AI应用量身定制的分布式追踪系统如果你正在开发或维护一个涉及多个微服务、复杂调用链的AI应用,比如一个集成了大语言模型、向量数据库和多个数据处理服务的智能问答系统,那么你一定对“排障”这件事深有体会。当用户反馈“…...
终极指南:如何在Windows上轻松安装APK文件?告别模拟器的5个简单步骤
终极指南:如何在Windows上轻松安装APK文件?告别模拟器的5个简单步骤 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否想在Windows电脑上直…...
如何使用Tutorial-Codebase-Knowledge实现Docker Swarm集群部署的终极指南
如何使用Tutorial-Codebase-Knowledge实现Docker Swarm集群部署的终极指南 【免费下载链接】Tutorial-Codebase-Knowledge Pocket Flow: Codebase to Tutorial 项目地址: https://gitcode.com/gh_mirrors/tu/Tutorial-Codebase-Knowledge Tutorial-Codebase-Knowledge&a…...
Go语言树结构:二叉树与AVL树
Go语言树结构:二叉树与AVL树 1. 二叉树实现 type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode }type BinaryTree struct {Root *TreeNode }func (t *BinaryTree) Insert(val int) {t.Root insert(t.Root, val) }func insert(node *TreeNode, val in…...
通过Taotoken模型广场快速为项目选择合适的AI模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken模型广场快速为项目选择合适的AI模型 当你开始一个新项目,或者需要为现有应用集成AI能力时,面…...
短视频去重怎么做才有效?2026年AI工具对比与实操指南
在短视频平台算法日益严格的背景下,简单搬运或轻微修改的视频越来越难获得流量推荐。尤其对于电商带货、知识博主和矩阵号运营者而言,“如何有效去重”已成为内容能否过审、账号能否存活的关键问题。许多创作者尝试手动调色、加滤镜、裁剪画面࿰…...
