Est-il possible de connecter Fiddler pour capturer les demandes et les réponses effectuées à l'aide de .NET HttpWebRequest et HttpWebResponse?
Réponses
Trop de publicités?Le Violoneux FAQ donne la réponse à cette question.
Vous l'itinéraire de votre trafic HTTP à travers le Violoneux (c'est à dire Utiliser Fiddler est un proxy).
Voici quelques liens qui pourront vous aider:
Fiddler De Débogage Web - Configuration Des Clients
Qui à son tour les liens ici:
De prendre la Charge des Utilisateurs avec Configuration Automatique dans .NET
Vous pouvez obtenir ce par le biais de certains paramètres de configuration dans le web.fichier de configuration (pour une ASP.NET d'application) comme suit:
<system.net>
<defaultProxy>
<proxy
proxyaddress="http://[your proxy address and port number]"
bypassonlocal="false"
/>
</defaultProxy>
</system.net>
Voir ici pour les détails complets sur l' <defaultProxy>
réglage.
Alternativement, vous pouvez utiliser un objet WebProxy dans votre code en utilisant quelque chose comme:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("[ultimate destination of your request]");
WebProxy myproxy = new WebProxy("[your proxy address]", false);
request.Proxy = myproxy;
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Voir ici pour plus de détails sur la classe WebProxy.
Également de noter l'importance du "mise en garde" qui est mentionné dans le violon FAQ:
Pourquoi ne puis-je pas voir le trafic envoyé à http://localhost ou http://127.0.0.1?
IE7 et le .NET Framework sont codé en dur de ne pas envoyer de demandes d' Localhost par le biais de tous les proxys, et que un proxy Fiddler ne recevront pas ces le trafic.La solution de contournement est d'utiliser votre le nom de la machine que le nom d'hôte au lieu de Localhost ou 127.0.0.1. Donc, pour exemple, plutôt que de frapper http://localhost:8081/mytestpage.aspx, au lieu de visiter http://machinename:8081/mytestpage.aspx.
...Ou, si vous êtes à l'aide de Fiddler v2.1.8 ou plus tard, il suffit d'utiliser http://ipv4.fiddler pour frapper localhost sur l'IPv4 adaptateur, ou de l'utilisation http://ipv6.fiddler pour frapper localhost sur l'IPv6 de l'adaptateur. Cette fonctionne particulièrement bien avec le Visuel Studio test serveur web (nom de code: Cassini) parce que le serveur de test uniquement écoute sur l'IPv4 carte de bouclage.
Enfin, vous pouvez Personnaliser vos Règles fichier comme suit:
static function OnBeforeRequest(oSession:Fiddler.Session) { if (oSession.HostnameIs("MYAPP")) { oSession.host = "127.0.0.1:8081"; } }
...et puis il suffit de frapper http://myappqui va agir comme un alias pour 127.0.0.1:8081.
Vérifiez cet article de blog, je pense que c'est ce que vous voulez.
Si vous ne le pouvez pas, Wireshark est un outil similaire qui fonctionne au niveau du matériel réseau, de sorte qu'il peut capturer le trafic réseau à partir de n'importe quelle application.
Wireshark est un peu plus complexe que Fiddler et plus général, mais c’est un excellent outil à avoir dans votre boîte à outils, et il vaut la peine d’enquêter un peu plus longtemps.