Webアプリケーションの開発中にIIS7 Expressを使用しています。問題を調査するためにフィドラーを使用する必要があり、HTTPストリームを取得できるように構成する方法を理解できません。 IIS7エクスプレスはローカルホストでのみリッスンするようです。つまり、ストリームにアクセスできません。
これはIIS7 Expressとは関係がなく、ループバックトラフィックを使用しているという事実とは関係ありません。
参照: https://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-LocalTraffic
[ルール]> [ルールのカスタマイズ]をクリックします。
次のようにルールファイルを更新します。
static function OnBeforeRequest(oSession:Fiddler.Session)
{
if (oSession.HostnameIs("MYAPP")) { oSession.Host = "localhost:portnumber"; }
}
次に、ブラウザでhttp://myapp
にアクセスします。
または、アドレスhttp://localhost.fiddler/
を使用すると、FiddlerはIPアドレスに変換する代わりにホスト名localhost
を使用します。
(ブレットによって編集された)エリックの回答の有用なバリエーションの1つは、oSession.port
を使用してoSession.Host
を構築することです。この小さな変更により、IIS http://localhost:12345
の高速トラフィックをキャプチャする必要がある場合は、http://iisexpress:12345
を使用できます。これにより、ランダムなサイトのトラフィックを簡単にキャプチャできます。 WebMatrixとVSによって作成されたポートです。IEとFirefoxで試してみましたが、IIS高速トラフィックは簡単でした。フィドラーはすごいです。
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; }
//...
}
Fiddlerの最新バージョンでは、localhost.fiddler:portに移動するだけで済みます。しかし、それだけでは役に立たず、Windows認証を使用しているときにアクセスが拒否されました。これを修正するために、次のブログエントリを見つけました: http://www.parago.de/2013/01/fiddler-and-the-401-unauthorized-error-with-asp-net-web-api- using-integrated-windows-authentication-wia /
つまり、次のキーを作成します。
キーパスHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
値の名前BackConnectionHostNames
値のタイプREG_MULTI_SZ
String Valuelocalhost.fiddler
クライアントとサーバーの間のプロキシとして、fiddlerを使用できます。つまり、fiddlerを起動し、通常のポートではなく、fiddlerのポートを使用してサーバーにアクセスします(fiddler2のデフォルトは8888だと思います)。サーバーの「ライブ」クライアントと実際のクライアントをデバッグする必要がある場合は、IISバインディングを:80から他のバインディングに変更し、ポート80にフィドラーのプロキシを配置します。
編集:ちなみに、デフォルトではfiddler2はブラウザのプロキシ設定を変更して、とにかく(fiddlerがインストールされているマシンでのみ)fiddlerを介してすべてにアクセスするようにします