首页 > 其他分享 >记一次Fidder Script自动修改包

记一次Fidder Script自动修改包

时间:2024-09-11 11:37:11浏览次数:8  
标签:10.0 Fiddler responseBody Fidder Script 修改 randomDouble var oSession

Fiddler Script的本质是用JScript.NET编写的一个脚本文件CustomRules.js
但是它的语法很像C#但又有些不一样,比如不能使用@符号

通过修改CustomRules.js可以灵活修改请求报文和响应报文,也无需中断程序。同时也可以利用它针对不同的URL做各种特殊处理。

Fiddler安装时已经自带了Fiddler ScriptEditor,可查看包含的各类变量和方法,十分方便。

下面是我针对于op的概览页面,使用正则替换了其中的温度数据的代码。

static function OnBeforeResponse(oSession: Session) {
        if (oSession.uriContains("openwrt.com") )
        {
            // 获取响应体
            var responseBody = oSession.GetResponseBodyAsString();
            // 创建随机数生成器
            var random = new System.Random();
            // 生成 0.0 到 1.0 之间的随机小数
            var randomDouble = random.NextDouble();
            // 将随机小数调整到 -10.0 到 -8.0 的范围
            // -10.0 + (2.0 * randomDouble) 将随机数缩放到 -10.0 到 -8.0
            var randomNumber = -10.0 + (2.0 * randomDouble);
            // 打印日志响应体
            FiddlerApplication.Log.LogString("responseBody: " + "[\\S]*℃");
            // 进行正则表达式替换
            // 在 C# 中使用 System.Text.RegularExpressions.Regex
            var regex = new System.Text.RegularExpressions.Regex("[\\S]*℃");
            responseBody = regex.Replace(responseBody, randomNumber.ToString("F1") + "℃");
            // 将修改后的内容写回响应体
            oSession.utilSetResponseBody(responseBody);
        }
    }

标签:10.0,Fiddler,responseBody,Fidder,Script,修改,randomDouble,var,oSession
From: https://www.cnblogs.com/idealy/p/18407969

相关文章

  • [JavaScript] 事件委托以及 Vue 列表循环事件绑定的性能优化
    前言事件委托(EventDelegation)是一种通过将事件监听器绑定到父元素,而不是直接绑定到每个子元素上的技术。这样可以减少事件监听器的数量,提升性能,并使得对动态添加或移除的元素更容易进行事件处理。事件冒泡和事件捕获事件冒泡:从里往外<divid="parent"style="padding:50px;......
  • Vue 生命周期与 TypeScript:深入理解组件生命周期
    Vue生命周期与TypeScript:深入理解组件生命周期引言Vue.js作为一种流行的前端框架,其组件生命周期是开发过程中不可或缺的一部分。理解并正确利用Vue的生命周期,可以帮助开发者构建更加健壮和可维护的应用。而当TypeScript与Vue结合使用时,这种优势得到了进一步的增强。Typ......
  • Vue 表单输入绑定与 TypeScript:提升前端表单输入的可靠性
    ......
  • Vue 方法与事件处理与 TypeScript:增强前端应用的交互性
    ......
  • JavaScript语法入门四
    变量变量就是在内存中开辟一块用于存储信息的空间。变量命名1.        变量名称必须仅包含字母,数字,符号 $ 和 _。2.        首字符必须非数字。3.        采用驼峰式命名法(camelCase),就是,单词一个接一个,除了第一个单词,其他的每个单词都以大写字母开头......
  • ECOM 2001 Term Project Description
    ECOM 2001 TermProjectDescriptionDue 30Septemberat 9:00AMAWSTIntroductionThe aim of thisproject is toprepare, evaluate and analyse stockmarket data and torecommend an optimalportfo- lioconsistingof two stocks. Youhavebeen......
  • 【教师节视频制作祝福】湖边烟花霓虹灯AE模板修改文字软件生成器教程特效素材【AE模板
    教师节祝福视频制作教程湖边烟花霓虹灯AE模板修改文字特效广告生成神器素材玩法AE模板工程怎么如何做的【教师节视频制作祝福】湖边烟花霓虹灯AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:下载AE模板安装AE软件把AE模板导入AE软件修改图片或......
  • JavaScript高级——对象
    1、对象的含义:①多个数据的封装体②用来保存多个数据的容器③一个对象代表现实中的一个事物2、为什么要用对象?——统一管理多个数据3、对象的组成①属性:属性名(字符串)和属性值(任意值)组成。代表现实事物的状态数据。②方法:一种特别的属性(属性值是函数)。代表的现......
  • Esxi 修改时区
    在尝试修改/etc/localtime文件时遇到“Operationnotpermitted”错误,这通常是因为ESXi的文件系统是只读的。在这种情况下,您需要通过修改配置文件来更改时区。请按照以下步骤操作:方法一:使用vSphereClient使用vSphereClient连接到您的ESXi主机。导航到“配置”>“系统”>“......
  • JavaScript之模块模式
    一模块模式JavaScript模块模式有传统的立即调用函数表达式(IIFE)、CommonJS、AMD、ES6模块立即调用函数表达式(IIFE)立即调用函数表达式(IIFE)是一种设计模式,通过创建一个立即执行的函数来封装代码,避免全局命名空间污染。IIFE结构如下:(function(){//你的代码})(......