zoukankan      html  css  js  c++  java
  • FiddlerScript开发

    1.为Fiddler会话列表添加自定义列

    只需要为你的方法(方法名任意)添加BindUIColumn Attribute 就可以添加自定义列到Session List,下面的代码添加Method列到会话列表中。BindUIColunn()的第一个参数是列名,第二个参数代表列宽。

    public static BindUIColumn("Method", 60)
    function FillMethodColumn(oS: Session): String {
          return oS.RequestMethod;
    }

    保存脚本,这样Fiddler会话列表中就会多出一列:

    image

    另外还可以使用 AddBoundColumn()方法添加列,如下在main方法中添加列:

    static function Main()
        {
                FiddlerObject.UI.lvSessions.AddBoundColumn("ClientPort", 50, "X-ClientPort");
                FiddlerObject.UI.lvSessions.AddBoundColumn("SentCookie1", 60, getSentCookie);
                FiddlerObject.UI.lvSessions.AddBoundColumn("SentCookie2", 60, "@request.Cookie");
                FiddlerObject.UI.lvSessions.AddBoundColumn("ReturnedCookie", 60, "@response.Set-Cookie");
        }
    
        static function getSentCookie(oS: Session){ if (null != oS.oRequest) return oS.oRequest["Cookie"]; }

    AddBoundColumn()方法接受三个参数,第一个参数为列名,第一个参数为列宽,第三个参数可以为SessionFlag 字符串,以@开头的请求响应头名称,或者一个返回字符串值的javascript函数。

    更多参考:http://fiddler2.com/documentation/KnowledgeBase/FiddlerScript/AddColumns

    2.为Fiddler添加自定义Tab选项页

    为你的方法添加BindUITab Attribute就可以添加一个自定义的tab页到Fiddler右侧tab选项卡中。

    public BindUITab("Flags")
    static function FlagsReport(arrSess: Session[]):String {
        var oSB: System.Text.StringBuilder = new System.Text.StringBuilder();
        for (var i:int = 0; i<arrSess.Length; i++)
        {
            oSB.AppendLine("SESSION FLAGS");
            oSB.AppendFormat("{0}: {1}
    ", arrSess[i].id, arrSess[i].fullUrl);
            for(var sFlag in arrSess[i].oFlags)
            {
                oSB.AppendFormat("	{0}:		{1}
    ", sFlag.Key, sFlag.Value);
            }
        }
        return oSB.ToString();
    }

    保存脚本,就可以看到Fiddler中显示出自定义的tab页,选择右侧的session列表,右侧tab页中将显示出当前选中session列表的url及oFlags等信息。

    image

    3.添加自定义菜单

    使用QuickLinkMenu Attribute添加菜单,并使用QuickLinkItem添加菜单项

    QuickLinkMenu("&Links") 
    QuickLinkItem("百度", "www.baidu.com")
    QuickLinkItem("谷歌", "www.google.com")
    public static function DoLinksMenu(sText: String, sAction: String)
    {
        Utilities.LaunchHyperlink(sAction);
    }

    保存脚本,Fiddler中就会多出一个菜单。

    image

    添加上下文菜单:

    public static ContextAction("在Chrome中打开")
    function DoOpenInIE(oSessions: Fiddler.Session[]){ 
        if (null == oSessions){
            MessageBox.Show("Please choose at least 1 session."); return;
        }
        var command:String = "chrome.exe";
        for (var x = 0; x < oSessions.Length; x++){
            try{
                System.Diagnostics.Process.Start(command, oSessions[x].url);
            }catch(e:Exception){
                 FiddlerObject.alert(e.Message + command);   
            }
        }
    }

    保存脚本,在会话列表上点击右键,将会看到新增加的上下文菜单项,单击菜单就可以在chrome中打开url地址了。

    image 

    另外还有RulesOption创建单选菜单项到Rules菜单,RulesString创建字符串菜单到Rules菜单。

    下面的代码添加菜单项Reset IE 到Tools菜单中:

    public static ToolsAction("Reset IE")
     function ResetIE(){
            FiddlerObject.UI.actClearWinINETCache();
            FiddlerObject.UI.actClearWinINETCookies(); 
    }

    保存脚本,将会看到菜单项,点击菜单就会清除ie缓存与cookie.

    image

    更多参考:http://fiddler2.com/documentation/KnowledgeBase/FiddlerScript/CustomizeMenus

  • 相关阅读:
    2021/3/16
    2021/3/15
    plist
    百度小程序更新管理
    uni-app v-for v-modal
    小程序中不能使用字符串模板吗
    条件编译
    百度app 和小程序版本关系
    uni-app 全局变量的几种实现方式
    canvas 换行处理
  • 原文地址:https://www.cnblogs.com/weekend001/p/3475980.html
Copyright © 2011-2022 走看看