如何在Fiddler中显示HTTP请求的大小?

发布于 2024-07-19 04:55:52 字数 575 浏览 11 评论 0原文

我想在 fiddler 的会话列表中显示每个请求的大小。 到目前为止,我尝试的是在 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 "?";
}

但这会在 fiddler 尝试加载脚本时导致错误。

如果我将注释行更改为:

    return typeof(oS.requestBodyBytes.Length);

然后 fiddler 在 RequestSize 列中显示“number”。 因此,我想我距离我想要实现的目标并不遥远。 我只是不知道如何显示 requestBodyBytes 字段的大小。

有什么提示我做错了什么或缺少什么吗?

I'd like to display the size of each request in the session list of fiddler. What I tried so far, was to add a custom column in the CustomRules.js file:

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

But this results in an error when fiddler tries to load the script.

If I change the line with the comment to this:

    return typeof(oS.requestBodyBytes.Length);

then fiddler displays 'number' in the RequestSize column. Because of that I guess that I'm not very far away from what I'm trying to achieve. I just can't figure out how to display the size of the requestBodyBytes field.

Any hints what I'm doing wrong or what is missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

や三分注定 2024-07-26 04:55:52

更新 在现代版本的 Fiddler 中,您只需右键单击列标题,选择“自定义列”并添加杂项 > 请求大小列。


根据您的需求,这可能并不是您真正想要做的,因为它只显示请求正文的长度,而不包括标头的大小。

这是一个改进版本:

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();
}

Update In modern versions of Fiddler, you can simply right-click the column headers, choose "Customize Columns" and add the Miscellaneous > Request Size column.


Depending on your needs, that might not really be what you want to do, because it only shows the length of the request body, and doesn't include the size of the headers.

Here's an improved version:

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();
}
夏了南城 2024-07-26 04:55:52

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

当将此脚本放入 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;
}

OK, I knew I wasn't far off. Here's the answer to my question.

This script, when put into CustomRules.js, will print the length/size of HTTP request in fiddler:

public  static  BindUIColumn("Req-Length")
function  CalcMethodCol(oS:  Session){
    if (null != oS.oRequest)
            return oS.requestBodyBytes.LongLength.ToString();
        else
            return String.Empty;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文