Question

Je voudrais afficher la taille de chaque demande dans la liste des sessions de fiddler. Ce que j’avais essayé jusqu’à présent, c’était d’ajouter une colonne personnalisée dans le fichier 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 "?";
}

Mais cela entraîne une erreur lorsque Fiddler tente de charger le script.

Si je change la ligne avec le commentaire en ceci:

    return typeof(oS.requestBodyBytes.Length);

puis fiddler affiche "numéro" dans la colonne RequestSize. À cause de cela, je suppose que je ne suis pas très loin de ce que j'essaie de réaliser. Je n'arrive pas à comprendre comment afficher la taille du champ requestBodyBytes.

Avez-vous des indices sur ce que je fais mal ou sur ce qui manque?

Était-ce utile?

La solution

Mettre à jour Dans les versions modernes de Fiddler, il vous suffit de cliquer avec le bouton droit de la souris sur les en-têtes de colonne, de choisir "Personnaliser les colonnes". et ajoutez le Divers > Colonne Taille de la demande .

En fonction de vos besoins, il se peut que ce ne soit pas vraiment ce que vous souhaitiez faire, car il indique uniquement la longueur du corps de la demande et n'inclut pas la taille des en-têtes.

Voici une version améliorée:

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

Autres conseils

OK, je savais que je n'étais pas loin. Voici la réponse à ma question.

Ce script, une fois placé dans CustomRules.js, affichera la longueur / taille de la requête HTTP dans le violoneur:

public  static  BindUIColumn("Req-Length")
function  CalcMethodCol(oS:  Session){
    if (null != oS.oRequest)
            return oS.requestBodyBytes.LongLength.ToString();
        else
            return String.Empty;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top