Как отобразить размер HTTP-запроса в Fiddler?

Я хотел бы отобразить размер каждого запроса в списке сеансов 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. Из-за этого я думаю, что я не очень далеко от того, чего я пытаюсь достичь. Я просто не могу понять, как отобразить размер поля requestBodyBytes.

Есть намеки на то, что я делаю неправильно или чего не хватает?

2 ответа

Решение

Обновление В современных версиях 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();
}

ОК, я знал, что я не далеко Вот ответ на мой вопрос.

Этот сценарий, помещенный в CustomRules.js, напечатает длину / размер HTTP-запроса в fiddler:

public  static  BindUIColumn("Req-Length")
function  CalcMethodCol(oS:  Session){
    if (null != oS.oRequest)
            return oS.requestBodyBytes.LongLength.ToString();
        else
            return String.Empty;
}
Другие вопросы по тегам