web-dev-qa-db-fra.com

Comment puis-je placer un cookie dans une demande en utilisant Fiddler?

Je dois définir un cookie avant d'envoyer une demande à un site Web à l'aide de Fiddler. Comment puis-je faire cela?

51
Jeremy McGee

Simple ... Vous devez définir une valeur d'en-tête, avec votre demande, comme ceci:

Cookie: YourCookieName=YourCookieValue
63
RayLoveless

Pour ce faire, utilisez 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.

21
DesLFC

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 "place" pas le cookie sur le client - il l'envoie simplement au serveur. Si vous souhaitez définir un cookie sur le client, vous devez soit utiliser un autre moyen, soit injecter un en-tête de réponse Set-Cookie sur une réponse précédente du serveur, avec la valeur que vous souhaitez définir sur le client.

7
EricLaw

Vous pouvez également utiliser le compositeur Fiddler.

  1. Run Fiddler
  2. Ouvrez l'onglet Composer en haut.

C'est plus simple si vous pouvez commencer avec une autre demande de votre site Web. Pour ce faire, capturez la demande 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

5
Rich Wagenknecht

Fiddler vous permet de renvoyer/reconstruire une demande existante. Il y a un Request Builder. Lors de la reconstruction dans le formulaire RAW, modifiez vos cookies.

2
ankitjaininfo

Cette solution est valable pour l'authentification basée sur les cookies:

Si vous souhaitez tester l'API/URL dont l'authentification est activée, veuillez essayer de suivre, je montre pour l'API Web MVC sur IIS serveur. Habituellement, il y a plus d'un cookie responsable de l'autorisation, donc vous devrez peut-être envoyer plus d'un 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
1
ashish

Lors de l'exécution 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 la documentation de Fiddler sur Modification d'une demande ou d'une réponse pour plus d'informations.

0
Thomas