web-dev-qa-db-fra.com

Utilisation de Fiddler avec IIS7 Express

J'utilise IIS7 Express lors du développement de mon application Web. Je dois utiliser fiddler pour étudier un problème et je ne sais pas comment configurer les choses pour pouvoir obtenir le flux HTTP. Il semble qu'IIS7 Express n'écoute que sur localhost, ce qui signifie que je ne peux pas accéder au flux.

36
Brettski

Cela n'a rien à voir avec IIS7 Express et tout le fait que vous utilisez du trafic en boucle.

Réf.: https://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-LocalTraffic

Cliquez sur Règles> Personnaliser les règles.

Mettez à jour votre fichier de règles de la manière suivante:

static function OnBeforeRequest(oSession:Fiddler.Session)
{
    if (oSession.HostnameIs("MYAPP")) { oSession.Host = "localhost:portnumber"; }
}

Ensuite, il suffit de visiter http://myapp dans votre navigateur.

Ou utilisez l'adresse http://localhost.fiddler/ et Fiddler utilisera le nom d'hôte localhost au lieu de la convertir en adresse IP.

53
EricLaw

Une variante utile de la réponse d'Eric (qui a été éditée par Brett) serait d'utiliser oSession.port pour construire le oSession.Host. Avec ce petit changement, si l'on doit capturer IIS trafic express sur http://localhost:12345, ils pourraient utiliser http://iisexpress:12345. Cela facilitera la capture du trafic pour les sites à ports aléatoires créés par WebMatrix et VS. Je l'ai essayé avec IE, Firefox et la capture du trafic IIS Express était un jeu d'enfant. Le violoneux est génial!.

static function OnBeforeRequest(oSession:Fiddler.Session)
{
   //...
   // workaround the iisexpress limitation
   // URL http://iisexpress:port can be used for capturing IIS Express traffic
   if (oSession.HostnameIs("iisexpress")) { oSession.Host = "localhost:"+oSession.port; }
   //...
}
10
Jaro Dunajsky

Avec la dernière version de fiddler, il vous suffit de naviguer vers localhost.fiddler: port. Cependant, cela seul ne m'a pas aidé et l'accès à l'authentification Windows m'était toujours refusé. Pour résoudre ce problème, j'ai trouvé cette entrée de blog: http://www.parago.de/2013/01/fiddler-and-the-401-unauthorized-error-with-asp-net-web-api-using- integrated-windows-authentication-wia/

En bref, créez cette clé:

Chemin de la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

Nom de la valeur BackConnectionHostNames

Type de valeur REG_MULTI_SZ 

Valeur de la chaîne localhost.fiddler

4
Thraka

Vous pouvez utiliser fiddler comme proxy entre vos clients et le serveur. Cela signifie que vous démarrez fiddler, puis accédez au serveur en utilisant le port de fiddler plutôt que le port habituel (la valeur par défaut pour fiddler2 est 8888, je pense). Si vous devez déboguer le serveur "en direct" par rapport aux clients du monde réel, vous pouvez modifier la liaison IIS de: 80 à autre chose et placer le proxy du fiddler sur le port 80.

EDIT: Au fait, par défaut, fiddler2 modifie les paramètres de proxy de vos navigateurs pour qu’ils accèdent à tout via fiddler de toute façon (sur la machine sur laquelle fiddler est installé uniquement)

0
sinelaw