Как отобразить размер 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;
}