12

我想在提琴手的会话列表中显示每个请求的大小。到目前为止,我尝试的是在 CustomRules.js 文件中添加一个自定义列:

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 字段的大小。

任何提示我做错了什么或缺少什么?

4

2 回答 2

10

更新在现代版本的 Fiddler 中,您只需右键单击列标题,选择“自定义列”并添加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();
}
于 2009-07-07T18:23:21.103 回答
5

好吧,我知道我离我不远了。这是我的问题的答案。

此脚本在放入 CustomRules.js 时,将在 fiddler 中打印 HTTP 请求的长度/大小:

public  static  BindUIColumn("Req-Length")
function  CalcMethodCol(oS:  Session){
    if (null != oS.oRequest)
            return oS.requestBodyBytes.LongLength.ToString();
        else
            return String.Empty;
}
于 2009-05-06T21:35:53.043 回答