Utilisation de Fiddler avec IIS7 Express
j'utilise IIS7 Express tout en développant mon application web. Je dois utiliser fiddler pour enquêter sur un problème et ne peut pas comprendre comment configurer les choses pour que je puisse obtenir le flux HTTP. Il semble que IIS7 express n'écoute que sur localhost, ce qui signifie que je ne peux pas accéder au ruisseau.
4 réponses
cela n'a rien à voir avec IIS7 Express et tout à voir avec le fait que vous utilisez le trafic loopback.
Ref: https://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-LocalTraffic
Cliquez Sur Les Règles > Personnaliser Les Règles.
mettez à jour votre fichier de règles comme ceci:
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 adresse http://localhost.fiddler/
et Fiddler utilisera le nom d'hôte localhost
au lieu de convertir en adresse IP.
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 on a besoin de capturer le trafic express IIS sur http://localhost:12345
, on peut utiliser http://iisexpress:12345
. Cela facilitera la capture du trafic pour les sites avec des ports aléatoires créés par WebMatrix et VS. J'ai essayé avec IE et Firefox et capturer IIS Express traffic était un jeu d'enfant. Fiddler rochers!.
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; }
//...
}
avec la dernière version de fiddler, il vous suffit de naviguer jusqu'à localhost.fiddler: port. Cependant, le fait de faire cela seul ne m'a pas aidé et je me faisais toujours refuser l'accès en utilisant L'authentification Windows. Pour corriger cela, 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éer cette clé:
Key Path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Lsa\MSV1_0
Value Name Backconnection Hostnames
Type de valeur REG_MULTI_SZ
Chaîne de Valeur localhost.fiddler
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 (par défaut pour fiddler2 est 8888 je pense). Si vous avez besoin de déboguer le serveur "live" par rapport aux clients du monde réel, vous pouvez changer la liaison de l'IIS de :80 à quelque chose d'autre, et placer le mandataire de fiddler sur le port 80.
EDIT: en passant, Par défaut fiddler2 modifie les paramètres de proxy sur votre navigateur de sorte qu'ils accèdent à tout par fiddler de toute façon (sur la machine dans laquelle fiddler est installé seulement)