SOに関する別の質問 からのHTTPリクエストの問題をデバッグしようとしています。だから私はFiddlerについて少し読んで、それを使って問題をデバッグしたかった。しかし、WPFアプリケーションからFiddlerを通過するトラフィックを取得できないようです。プロキシを構成する必要があると思います。基本的な例としてWebClientを使用していますが、後でWebRequestが必要になると思います。しかし、今のところ、単純なWebClientで、どうすればそれをFiddler経由で取得できますか(プロキシをlocalhost:8888に設定する必要があると思います)?
UPDATE:
私が正しいことをしたかどうかはわかりませんが、試しました
var wc = new WebClient();
WebProxy proxy = new WebProxy();
proxy.Address = new Uri("http://localhost:8888");
wc.Proxy = proxy;
失敗しました-Fiddlerにトラフィックが表示されません
私は試した ...
var wc = new WebClient();
WebProxy proxy = new WebProxy("127.0.0.1", 8888);
wc.Proxy = proxy;
まだ何もない
このfiddler2.comページ で解決策を見つけました
http://localhost
またはhttp://127.0.0.1?
に送信されたトラフィックが表示されないのはなぜですかInternet Explorerおよび.NET Frameworkは、プロキシを介してLocalhostの要求を送信しないようにハードコードされており、プロキシとして、Fiddlerはそのようなトラフィックを受信しません。
最も簡単な回避策は、Localhostまたは127.0.0.1の代わりにマシン名をホスト名として使用することです。したがって、たとえば、
http://localhost:8081/mytestpage.aspx
を押すのではなく、代わりにhttp://machinename:8081/mytestpage.aspx
にアクセスします。
たぶん少し遅れますが...
Localhostに「ドット」を追加するだけでこれを回避できるので、localhost
にアクセスする代わりに、localhost.
(ホスト名の末尾にあるドットに注意してください)
クレジットが必要なクレジット:このスレッドからこの珍しいヒントを得ました http://www.west-wind.com/weblog/posts/2009/Jan/14/Monitoring-HTTP-Output-with-Fiddler- in-NET-HTTP-Clients-and-WCF-Proxies#596591
正常に動作します!
以下の投稿で答えを見つけることができます https://stackoverflow.com/a/7506427/471499
web.configにこれを追加する必要があることをリストしますOR App.Config
<system.net>
<defaultProxy>
<proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
</defaultProxy>
</system.net>
それだけですが、フィドラーを閉じた後にweb.config行を削除することを忘れないでください。そうしないとエラーになります。
リファレンス: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
ネットワークHTTPコールをリダイレクトして、アプリケーションからフィドラープロキシを通過させるために、常に以下の構成を使用します。
これは、あらゆる種類の.NETアプリケーションで機能します(web.config
またはapp.config
ファイル)、フィドラーではCapture Traffic
オプションは、実行中のすべてのアプリケーションからの一般的なトラフィックをキャプチャしないようにします。これのショートカットキーは F12。
<system.net>
<defaultProxy>
<proxy proxyaddress="http://localhost:8888/" />
</defaultProxy>
</system.net>
これは、URLを呼び出すコードを変更する機会がないサードパーティアセンブリがある場合に重要な構成です。
これが誰かの助けになることを願っています。
「IIS Expressはmachinenameへのトラフィックを受信しないため、代わりにlocalhost.fiddlerfiddler2.com/documentation/Configure-Fiddler/Troubleshooting/…にルーティングします– robrich 13年5月9日6:02に」
上記のRobRichはそれを正しかった。 IIS Express。