当前位置: 首页 > news >正文

接口测试(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:不合法,只有当派生类公有地继承基类时&#xff0…...

【日常点滴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站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放&#xff0…...

怎样查询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…...

Realistic Vision V5.1 虚拟摄影棚实战:利用GitHub管理自定义模型与脚本

Realistic Vision V5.1 虚拟摄影棚实战:利用GitHub管理自定义模型与脚本 你是不是也遇到过这样的烦恼?好不容易在本地电脑上,用Realistic Vision V5.1模型调出了一套完美的参数组合,生成的人像照片质感堪比专业影棚。结果换台电脑…...

九齐单片机NYIDE开发环境避坑指南:从仿真器到实物板的温度检测实战(以062E为例)

九齐单片机NYIDE开发环境避坑指南:从仿真器到实物板的温度检测实战(以062E为例) 在嵌入式开发领域,仿真环境与实物硬件之间的差异常常成为工程师的"隐形杀手"。特别是对于九齐单片机这类资源紧凑型芯片,开发…...

OpenClaw技能市场指南:Qwen3.5-4B-Claude适配的20个实用模块

OpenClaw技能市场指南:Qwen3.5-4B-Claude适配的20个实用模块 1. 为什么需要关注技能市场? 第一次接触OpenClaw时,我以为它只是个能执行简单命令的自动化工具。直到在ClawHub技能市场里发现"会议纪要生成器"模块,才意识…...

大一大二最容易忽视的一张“证书”,却悄悄决定了很多人的未来

很多大学生到了大三才突然发现一件事:有些机会,原来早在大一大二就已经埋好了门槛。比如——英语四六级。保研、考研复试、国企网申、研究生免修英语、甚至一些实习岗位筛选,很多时候都会看到同一行字:CET-4 / CET-6 成绩这张证书…...

ES核心索引机制深度解析:从“正排”与“倒排”的底层原理到实战应用场景

1. 正排索引与倒排索引的本质区别 第一次接触Elasticsearch时,我被"正排"和"倒排"这两个概念绕得头晕。直到有次做商品搜索功能,才真正理解它们的差异。想象你面前有两本电话簿:一本按人名排序(正排&#xff…...

解锁新可能:ArkData 在智能穿戴设备中的应用

解锁新可能:ArkData 在智能穿戴设备中的应用随着人们对健康生活的重视,智能穿戴设备愈发普及。这些设备能够实时收集心率、步数、睡眠等健康数据,为人们的健康管理提供重要参考。在这一背景下,如何高效管理和利用这些健康数据成为…...

Halcon仿射变换实战:手把手教你用vector_to_aniso和solve_matrix搞定图像配准(附完整代码)

Halcon仿射变换实战:从原理到工程落地的图像配准指南 在工业视觉检测领域,图像配准的精度直接影响着后续缺陷检测的准确性。去年参与的一个半导体封装项目让我深刻体会到这一点——当芯片位置存在0.5像素以上的偏移时,细微的焊球缺陷就会被漏…...

OpenCore Configurator:革新性黑苹果配置工具,让复杂引导设置化繁为简

OpenCore Configurator:革新性黑苹果配置工具,让复杂引导设置化繁为简 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator 价值定位&#…...

ROS Noetic + RealSense D435i:从驱动安装到RVIZ点云显示的完整工作流解析

ROS Noetic RealSense D435i:从驱动安装到RVIZ点云显示的完整工作流解析 在机器人视觉项目的初期搭建阶段,开发者往往面临一个关键挑战:如何将深度相机从"硬件连接"快速推进到"可用数据流"状态。以Intel RealSense D435…...

EN50155以太网交换机的X键位M12插座在PCB板上同一高度方法

在轨道交通车载EN50155以太网交换机的PCB设计中,X键位M12插座(千兆/万兆接口)常需多个并排或阵列布局。由于X编码插座引脚数较多(8芯)且结构复杂,确保所有插座在PCB板上的同一高度(共面性&#…...