2009-05-06 13 views
7

Me gustaría mostrar el tamaño de cada solicitud en la lista de sesiones de fiddler. Lo que he intentado hasta ahora, era agregar una columna personalizada en el archivo CustomRules.js:¿Cómo mostrar el tamaño de una solicitud HTTP en Fiddler?

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

Pero esto resulta en un error al violinista intenta cargar el guión.

Si cambio de la línea con el comentario a esta:

return typeof(oS.requestBodyBytes.Length); 

a continuación, muestra violinista 'número' en la columna de la RequestSize. Por eso, creo que no estoy muy lejos de lo que estoy tratando de lograr. Simplemente no puedo entender cómo mostrar el tamaño del campo requestBodyBytes.

¿Alguna pista de lo que estoy haciendo mal o de lo que falta?

Respuesta

7

actualización En las versiones modernas de Fiddler, puede simplemente haga clic derecho en la columna encabezados, elija "Personalizar columnas" y agregue la columna Miscellaneous>Request Size.


Dependiendo de sus necesidades, que podría no ser realmente lo que quiere hacer, ya que sólo se muestra la longitud del cuerpo de la petición, y no incluye el tamaño de las cabeceras.

Aquí es una versión mejorada:

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

Gracias por esa solución. – M4N

+0

probado en el violinista 2.3.9.1beta -> requestBodyBytes.LongLength se convierte en requestBodyBytes.Length –

+1

LongLength y Length devuelven lo mismo. – EricLaw

4

Bien, sabía que no estaba lejos. Aquí está la respuesta a mi pregunta.

Este script, cuando se ponen en CustomRules.js, se imprimirá la longitud/tamaño de petición HTTP en el violinista:

public static BindUIColumn("Req-Length") 
function CalcMethodCol(oS: Session){ 
    if (null != oS.oRequest) 
      return oS.requestBodyBytes.LongLength.ToString(); 
     else 
      return String.Empty; 
} 
Cuestiones relacionadas