liuyuqi-dellpc 5 years ago
commit
d0fa2ad124
7 changed files with 58 additions and 0 deletions
  1. 8 0
      README.md
  2. BIN
      screenshot/BaiduHi_2019-11-17_18-53-27.png
  3. 8 0
      src/AlertModify.js
  4. 5 0
      src/FocusFilter.js
  5. 8 0
      src/ModifyCookie.js
  6. 15 0
      src/PayCheck.js
  7. 14 0
      src/SaveData.js

+ 8 - 0
README.md

@@ -0,0 +1,8 @@
+## Fiddler Script
+
+Fiddler 使用的是 JScript.NET 语言,所以学习前语法需要了解下。
+
+
+![](screenshot/BaiduHi_2019-11-17_18-53-27.png)
+
+

BIN
screenshot/BaiduHi_2019-11-17_18-53-27.png


+ 8 - 0
src/AlertModify.js

@@ -0,0 +1,8 @@
+//修改request的Body里面的部分参数,每次下完断点,修改完再提交,总会网络超时或者APP超时
+
+if (oSession.uriContains("http://www.baidu.com")) {
+    var strBody = oSession.GetRequestBodyAsString();// 获取Request 中的body字符串
+    strBody = strBody.replace("false", "true");// 用正则表达式或者replace方法去修改string,将false改为true
+    FiddlerObject.alert(strBody);// 弹个对话框检查下修改后的body
+    oSession.utilSetRequestBody(strBody);// 将修改后的body,重新写回Request中
+}

+ 5 - 0
src/FocusFilter.js

@@ -0,0 +1,5 @@
+//标红 www.baidu.com 请求
+
+if (oSession.HostnameIs("www.baidu.com")) {
+    oSession["ui-color"] = "red";
+}

+ 8 - 0
src/ModifyCookie.js

@@ -0,0 +1,8 @@
+//修改cookie,改成一个付费过的cookie,但是需要实时生成
+
+if (oSession.HostnameIs('www.baidu.com') && oSession.uriContains('pagewithCookie') && oSession.oRequest.headers.Contains("Cookie")) {
+    var sCookie = oSession.oRequest["Cookie"];
+    //  用replace方法或者正则表达式的方法去操作cookie的string
+    sCookie = sCookie.Replace("付费=false", "付费=true");
+    oSession.oRequest["Cookie"] = sCookie;
+}

+ 15 - 0
src/PayCheck.js

@@ -0,0 +1,15 @@
+//付费验证
+
+if (oSession.fullUrl.Contains("http://www.baidu.com")) {
+
+    // 获取 Response Body、Request Body中JSON字符串,转换为可编辑的JSONObject变量
+    var responseStringOriginal = oSession.GetResponseBodyAsString();
+    var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
+    var requestStringOriginal = oSession.GetRequestBodyAsString();
+    var requestJSON = Fiddler.WebFormats.JSON.JsonDecode(requestStringOriginal);
+    if (responseJSON.JSONObject['付费'] == "true") { //请求参数中,若type为1,对返回值做如下修改
+        // 重新设置Response Body
+        var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
+        oSession.utilSetResponseBody(responseStringDestinal);
+    }
+}

+ 14 - 0
src/SaveData.js

@@ -0,0 +1,14 @@
+//自动保存某个接口的数据到本地
+
+if (oSession.fullUrl.Contains("www.baidu.com/playurl/v1/")) {
+    oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况
+    var fso;
+    var file;
+    fso = new ActiveXObject("Scripting.FileSystemObject");
+    //文件保存路径,可自定义
+    file = fso.OpenTextFile("D:\\Sessions.txt", 8, true, true);
+    //file.writeLine("Response code: " + oSession.responseCode);
+    file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
+    file.writeLine("\n");
+    file.close();
+}