Como exibir o tamanho de uma solicitação HTTP em Fiddler?
-
06-07-2019 - |
Pergunta
Eu gostaria de apresentar o tamanho de cada pedido na lista sessão de violinista. O que eu tentei até agora, foi adicionar uma coluna personalizada no arquivo 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 "?";
}
Mas isso resulta em um erro quando tenta violinista para carregar o script.
Se eu mudar a linha com o comentário a este:
return typeof(oS.requestBodyBytes.Length);
, em seguida, 'número' exibe violinista na coluna RequestSize. Por causa disso eu acho que eu não estou muito longe do que eu estou tentando alcançar. Eu só não consigo descobrir como exibir o tamanho do campo requestBodyBytes.
Todas as dicas que eu estou fazendo errado ou o que está faltando?
Solução
Atualizar Nas versões modernas de Fiddler, você pode simplesmente botão direito do mouse nos cabeçalhos das colunas, escolha "Personalizar colunas" e adicione o Miscellaneous
> coluna Request Size
.
Dependendo de suas necessidades, que pode não ser realmente o que você quer fazer, porque ele só mostra o comprimento do corpo da solicitação, e não inclui o tamanho dos cabeçalhos.
Aqui está uma versão melhorada:
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();
}
Outras dicas
OK, eu sabia que não estava longe. Aqui está a resposta à minha pergunta.
Este script, quando colocado em CustomRules.js, irá imprimir o comprimento / tamanho da solicitação HTTP em Fiddler:
public static BindUIColumn("Req-Length")
function CalcMethodCol(oS: Session){
if (null != oS.oRequest)
return oS.requestBodyBytes.LongLength.ToString();
else
return String.Empty;
}