Comment utiliser Fiddler pour déboguer le trafic de N'importe quelle application (par ex. C#/WPF app)

j'essaie de déboguer ce qui ne va pas avec mes requêtes HTTP de une autre question ici sur SO . J'ai donc lu un peu sur le Violoneux, et je voulais l'utiliser pour déboguer mon problème. Mais je n'arrive pas à obtenir de trafic de mon application WPF pour passer par Fiddler. Je crois que j'ai besoin de configurer un proxy. J'utilise un WebClient pour un exemple de base, mais je pense que j'aurai besoin d'une WebRequest plus tard. Mais pour l'instant, avec un WebClient simple, Comment puis-je obtenir à passer par Fiddler (je crois Je dois configurer le proxy localhost:8888)?

mise à jour:

je ne sais pas si j'ai fait la bonne chose ou pas, mais j'ai essayé le

var wc = new WebClient();
WebProxy proxy = new WebProxy();
proxy.Address = new Uri("http://localhost:8888");
wc.Proxy = proxy;

mais a échoué - Je ne vois pas de trafic dans Fiddler

j'ai essayé ...

var wc = new WebClient();
WebProxy proxy = new WebProxy("127.0.0.1", 8888);
wc.Proxy = proxy;

toujours rien

36
demandé sur Community 2010-10-09 12:31:17

5 réponses

j'ai trouvé la solution à ce fiddler2.com page

http://localhost ou http://127.0.0.1?

Internet Explorer et le. Net Framework sont hardcoded de ne pas envoyer demandes de Localhost par n'importe quel proxies, et en tant que mandataire, Fiddler ne pas recevoir un tel trafic.

la solution La plus simple est d'utiliser votre nom de la machine comme nom d'hôte au lieu de Localhost ou 127.0.0.1. Si, par exemple, plutôt que de frapper http://localhost:8081/mytestpage.aspx , au lieu de visiter http://machinename:8081/mytestpage.aspx .

51
répondu Jiew Meng 2015-04-13 14:32:59

peut-être un peu tard, mais...

j'obtiens ce simplement en ajoutant un "point" à localhost, donc au lieu d'accéder à localhost , j'essaie d'accéder à localhost. (notez le point à la fin du nom d'hôte)

Crédit lorsque le crédit est dû: J'ai eu cette pointe inhabituelle de ce fil http://www.west-wind.com/weblog/posts/2009/Jan/14/Monitoring-HTTP-Output-with-Fiddler-in-NET-HTTP-Clients-and-WCF-Proxies#596591

fonctionne très bien!

16
répondu Lee Francis 2014-09-24 10:41:57

vous pouvez trouver la réponse dans le post ci-dessous https://stackoverflow.com/a/7506427/471499

il Liste que vous devez ajouter dans votre web.config OR App.Config

<system.net>
  <defaultProxy>
    <proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
  </defaultProxy>
</system.net>
  1. puis lancer Fiddler sur la même machine que l'application en cours d'exécution.
  2. , Cliquez sur Outils | Fiddler Options => Connexions => ajuster le port 8888.(distance, si vous avez besoin d')
  3. Ok, puis, à partir du menu Fichier, capturez le trafic.

c'est tout, mais n'oubliez pas d'enlever la toile.les lignes de configuration après la fermeture du fiddler, parce que si vous ne le faites pas, il y aura une erreur.

référence: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy

12
répondu Tarek El-Mallah 2017-05-23 12:01:37

tout le temps que j'utilise la configuration ci-dessous pour rediriger les appels HTTP réseau à passer par le proxy fiddler de mes applications.

cela fonctionne dans tous les types d'applications .NET (qui a soit web.config ou app.config fichier) et dans fiddler son meilleur pour désactiver Capture Traffic option pour éviter de capturer le trafic général de toutes les applications en cours d'exécution. La clé de raccourci pour ceci est F12 .

<system.net>
    <defaultProxy>
        <proxy proxyaddress="http://localhost:8888/" />
    </defaultProxy>
</system.net>

c'est une configuration utile si vous avez des assemblages tiers dans lesquels vous n'avez aucune chance de changer le code qui appelle L'URL.

j'espère que cela aidera quelqu'un.

3
répondu Harsh Baid 2017-01-23 18:20:22

"IIS Express de ne pas recevoir le trafic à machinename ainsi, au lieu d'itinéraire à localhost.violon fiddler2.com/documentation/Configure-Fiddler/Troubleshooting / ... - robrich May 9 '13 at 6: 02"

au-dessus de RobRich. C'est la seule chose qui a fonctionné car je ne peux utiliser que IIS Express.

1
répondu RandallTo 2014-07-25 19:36:09