2009-05-06 108 views
7

我想在小提琴手的會話列表中顯示每個請求的大小。我試過,到目前爲止,是在CustomRules.js文件中添加自定義列:如何在Fiddler中顯示HTTP請求的大小?

public static BindUIColumn("RequestSize") 
function CalcMethodCol(oS: Session) 
{ 
    if (null != oS.requestBodyBytes) 
    return oS.requestBodyBytes.Length; //this is the relevant line 
    else 
    return "?"; 
} 

但是這將導致一個錯誤,當小提琴手試圖加載腳本。

如果我改變與該註釋的行:

return typeof(oS.requestBodyBytes.Length); 

然後小提琴手顯示在RequestSize列「數」。正因爲如此,我想我離我想要達到的目標並不遙遠。我只是不知道如何顯示requestBodyBytes字段的大小。

任何提示我做錯了什麼或缺少什麼?

回答

7

更新在提琴手的現代版本,你可以簡單地用鼠標右鍵單擊該列標題中,選擇「自定義列」並添加Miscellaneous>Request Size列。


根據您的需求,這可能不是你真正想做的事,因爲那隻能說明請求體的長度,不包括頭的大小。

下面是一個改進版本:

public static BindUIColumn("Req-Size") 
function CalcReqSize(oS: Session){   
    if (null == oS.oRequest) return String.Empty; 
    var cBytesOut: int = 0; 

    if (null != oS.requestBodyBytes) cBytesOut += oS.requestBodyBytes.LongLength; 
    if ((null != oS.oRequest) && (null != oS.oRequest.headers)) cBytesOut += 
    oS.oRequest.headers.ByteCount() ; 
    return cBytesOut.ToString(); 
} 
+0

感謝您的解決方案。 – M4N 2009-07-07 19:25:35

4

好吧,我知道我不遠處。這是我的問題的答案。

這個腳本,投入CustomRules.js時,將打印HTTP請求的長度/大小的小提琴家:

public static BindUIColumn("Req-Length") 
function CalcMethodCol(oS: Session){ 
    if (null != oS.oRequest) 
      return oS.requestBodyBytes.LongLength.ToString(); 
     else 
      return String.Empty; 
} 
相關問題