fiddler的mock数据与二次开发示例

fiddler的使用记录

fiddler了解

  • 上官网下载工具,然后安装使用,https://www.telerik.com/fiddler,如果对该工具不熟悉,还有直白的教程,看过比较多,这个人讲的还可以:https://blog.csdn.net/pengjiangchun/article/details/106841499
  • 暂时该工具对我而言,仅仅是作为mock数据而使用到,最常见的一个场景即,产品后端代码还未更新的情况下,前端代码已经编写完成,此时若需要自测,就可以通过多种手段进行构造后台返回的假数据,验证前端的UI与性能等是否符合预期。
  • fiddler简单原理可以诠释为:在客户端与服务器之间新增一个代理服务器-fiddler,即通常客户端与服务器之间相互发送数据,现在都会先经过fiddler,由fiddler转发出去或者拦截、修改数据信息再转发,我们通常就是用该工具来实现mock(篡改)数据,以实现部分情况下不依赖后端而验证前端等功能,大概如下代理结构: fiddler的mock数据与二次开发示例

实例使用

  • 断点:理解了该工具所处的位置之后,首先理解代理首先是断点,依据我们的需要,是在客户端的请求发到服务端之前断点拦截,还是在服务端回复信息之后拦截,或者是暂时不用该工具,就选择如图的disabled,理解这一点之后,该我选择在客户端请求发到服务端之前拦截,选择改变包的内容,使得服务端收到的是我所期望他收到的内容。
  • bpu:拦截的URL信息,格式如下,输入后回车键后生效
bpu url url //中间空格不可省略,之所以空格,是后面我定制的可以连续拦截两个以上URL时候定制的内容,因为该工具默认只能拦截单个请求
  • 通过上面两个步骤执行之后,然后就可以在对应的URL中看到自己编排的内容返回到页面上了,当然比如在choose response这里选择一些早就定制好的内容返回给客户端,比如给个HTTP/404 Not Found之类的。总而言之,常用的即如此过程。

fiddler二次开发应用

  • 简单介绍对该工具的一个二次开发过程,需求如下:改变该工具一次只能拦截单个断点的限制,实现一次设置多个断点,需要修改的地方如下,其他的功能也可以用java语言进行修改。
//第一处:找到开头的代码注释后新增后面代码:
 /*
    BindPref("fiddlerscript.ephemeral.bpRequestURI")
    public static var bpRequestURI:String = null; # zch改过第1处
    */
   // 设置数组的长度为10 10个阻塞的命令,内容为空格,和bpu命令用空格分割保持一致
    BindPref("fiddlerscript.ephemeral.bpRequestURI")
    //数组的长度10,10个阻塞的命令,内容为空格,和bpu命令用空格分割保持一致
    public static var bpRequestURIs:String[] = [" "," "," "," "," "," "," "," "," "," "];
//第二处:找到开头的代码注释后新增后面代码:
        /*
        case "bpu":
            if (sParams.Length
//第三处:找到开头的代码注释后新增后面代码:
 /*if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) {
            oSession["x-breakrequest"]="uri";
        }
        zch改过这里(第三处)*/
        var len = bpRequestURIs.Length;
        for(var i = 0; i< len; i++){
            if(bpRequestURIs[i]!=null && bpRequestURIs[i]!= " "&& oSession.uriContains(bpRequestURIs[i]) ){
                oSession["x-breakrequest"]="uri";
            }
        }

Original: https://www.cnblogs.com/morethansea/p/15563347.html
Author: overSea
Title: fiddler的mock数据与二次开发示例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576476/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 事务的四大特性

    事务的四大特性 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状…

    数据库 2023年6月11日
    085
  • Jenkins安装(Docker)版

    一、jenkins安装 1.查找,下载jenkins镜像文件 启动docker,查找Jenkins镜像文件 docker&#xA0;search&#xA0;jenk…

    数据库 2023年6月11日
    090
  • 3 访问修饰符public,private,protected以及不写(默认)时的区别

    private 私有的,只对本类公开。 default 类的成员不写访问修饰符时默认为default,默认对于同一个包中的其它类相当于公开(public),对于不是同一个包中的其它…

    数据库 2023年6月6日
    086
  • 977.有序数组的平方

    给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10]输出…

    数据库 2023年6月16日
    086
  • VMware Workstation 与 Device/Credential Guard 不兼容

    问题: 在确定已经禁用 Hyper-V 功能的前提下,启动虚拟机还是报错 ” VMware Workstation 与 Device/Credential Guard …

    数据库 2023年6月14日
    076
  • Sencha Cmd 常用命令

    1、获取帮助 sencha help generate app 2、创建应用程序 sencha -sdk e:\ext\ext6 generate app -classic Sim…

    数据库 2023年6月9日
    082
  • 分析了2020年3万多条的微博热搜,我看到了什么

    前言 2020年是艰难的一年,但即使再难,也都过去了。 分析一下2020年的新闻热搜,可以大致了解网民都在关注什么。 微博热搜以娱乐为主,头条的热搜更偏向民生与时事。今天,我们先分…

    数据库 2023年6月16日
    093
  • Linux–>网络配置

    虚拟机NAT网络关系图 在Linux中查看网络配置 ifconfig ping 测试主机之间网络连通性 测试当前服务器是否可以连接目的主机 ping &#x76EE;&am…

    数据库 2023年6月14日
    080
  • 实时人流量监测——海康威视sdk初体验

    本文主要是博主使用海康SDK进行人流量统计的摸索过程,在这里简单记录一下。 查询文档,能实现人流量统计大概有两种方式,报警或者监听, 这边我选择了监听方式,NET_DVR_Star…

    数据库 2023年6月16日
    0152
  • Redis

    一、了解 1、Nosql概述(同sql的区别) 1&#x3001;&#x5B58;&#x50A8;&#x65B9;&#x5F0F; SQL&…

    数据库 2023年6月6日
    078
  • docker部署redis集群

    docker部署redis集群 1.0 安装环境 1.1 安装Centos7 Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docke…

    数据库 2023年6月9日
    081
  • MySQL视图

    视图 常见的数据库对象 视图概述 为什么使用视图 可以帮助我们使用表中的 部分数据,对其修改可以改变原来表中的值 可以简化查询 控制数据的访问(权限) 视图的理解 视图是一个本身没…

    数据库 2023年5月24日
    062
  • 6_SSM

    一. ssm整合 1.1 项目创建 1.1.1 创建Maven项目 创建一个普通的Maven-web项目,名称为ssm 记得勾选上Create from archetype然后选择…

    数据库 2023年6月11日
    070
  • 从SQL Server到MySQL,携程核心系统无感迁移实战

    前言 携程酒店订单系统的存储设计从1999年收录第一单以来,已经完成了从单一SQLServer数据库到多IDC容灾、完成分库分表等多个阶段,在见证了大量业务奇迹的同时,也开始逐渐暴…

    数据库 2023年5月24日
    074
  • 2022-08-19 PreparedStatement

    PreparedStatement接口是 Statement的子接口,它表示一条预编译过的SQL语句 什么是SQL注入 SQL注入是利用某些系统没有对用户输入的数据进行充分的检查,…

    数据库 2023年5月24日
    090
  • Django配置redis缓存

    Django配置redis缓存 (1)首先安装django-redis pip install django-redis (2)在settings中配置如下所示: 改配置仅为示例,…

    数据库 2023年6月14日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球