Comment puis-je définir un cookie dans une requête en utilisant Fiddler?
Je dois définir un cookie avant d'émettre une demande à un site Web en utilisant Fiddler. Comment dois-je faire?
7 réponses
Simple...Vous devez définir une valeur d'en-tête, avec votre requête, comme ceci:
Cookie: YourCookieName=YourCookieValue
Pour ce faire en utilisant le moteur FiddlerScript , ajoutez le code suivant dans la méthode onBeforeRequest
:
oSession.oRequest["Cookie"] = (oSession.oRequest["Cookie"] + ";YourCookieName=YourCookieValue");
Cela préservera tous les autres cookies qui ont été définis.
, Vous devez être plus précis sur ce que vous essayez de faire.
Vous pouvez modifier (ou ajouter) un en-tête de Cookie sortant pour envoyer un cookie au site web. Vous pouvez le faire manuellement ou via le moteur FiddlerScript . Mais cela ne "définit" pas le cookie sur le client - il l'envoie simplement au serveur. Si vous souhaitez définir un cookie sur le client, vous devez utiliser un autre moyen, ou vous pouvez injecter un Set-Cookie en-tête de réponse à une précédente réponse du serveur, avec le valeur que vous souhaitez définir sur le client.
Vous pouvez également utiliser le compositeur Fiddler.
- Exécuter Fiddler
- Ouvrez L'onglet Composer en haut.
C'est plus facile si vous pouvez commencer par une autre demande de votre site web. Pour ce faire, capturez la requête que vous souhaitez modifier, puis faites-la glisser de l'interface utilisateur vers l'onglet composer.
Une bonne explication est ici: http://www.debugtheweb.com/Fiddler/help/composer.asp
Fiddler vous permet de renvoyer/reconstruire une requête existante. Il y a un Request Builder
. Lors de la reconstruction sous forme brute, modifiez vos cookies.
Cette solution est valide pour l'authentification basée sur les cookies:
Si vous voulez tester L'API / url dont l'authentification est activée, essayez de suivre, je montre pour L'API Web MVC sur le serveur IIS. Habituellement, il y a plus de 1 cookie responsable de l'autorisation, donc vous devrez peut-être envoyer plus de 1 cookie dans l'en-tête comme suit:
User-Agent: Fiddler Host: localhost:51000 content-Type: application/json Cookie : .ASPXAUTH=xxxxx;ASP.NET_SessionId=yyyy;__RequestVerificationToken=zzzz
Lors de l'exécution de Fiddler en tant que Proxy inverse , vous pouvez modifier les en-têtes de réponse via FiddlerScript en ajoutant une ligne dans la méthode OnBeforeResponse:
static function OnBeforeResponse(oSession: Session) {
// ...
oSession.oResponse["Set-Cookie"] = "sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT";
}
Consultez également Fiddler docs sur la modification d'une demande ou D'une réponse pour plus d'informations.