2009-06-03 2 views
0

私のアプリケーションでは数多くのものが実行されていますが、時々失敗するものがあります。私は要求を実行するたびに、そして応答として到着するバイトが来るたびに、私のPCを離れるバイトをダンプしたいと思います。デバッグのためにWebRequestの送信をダンプしますか?

これは自分のコード内から簡単に行うことはできますか?

WinPcapなどをインストールせずにクライアントのマシンでこのようなダンプを利用できるようにしたいので、他の方法が利用できない場合は、最後の手段としてWiresharkのようなものを使用したいと思います。

+0

Windowsを使用しているときに、このような単純なことがどれほど難しいかは驚くべきことです。オーバーエンジニアリングされたWebRequestクラスはリクエストボディを見る方法がありません??? Windowsにはループバックインターフェイスがないため、Wiresharkもローカルホストでは不可能です。 –

+0

@JoeKobergの嫌悪者は嫌いになるかもしれませんが、Windows自体では、あなたはあまりにも恥ずかしそうに見えることはありません(ここで_actual_crapness(http://stackoverflow.com/questions/3561545))これは、なぜWindowsが大変なのかを示すのに使うことができます。 –

答えて

1

Fidller2を調べてみてください。何かをインストールしていますが、wiresharkのように近くにいるわけではありません。再生可能なシリーズにストリームをダンプできることを含む。

+0

これは本当に質問に答えることはありませんが、それにもかかわらず非常に役に立ちました。記録のために、私は質問が尋ねることを正確に行う方法を見つけませんでした。 –

0

MicrosoftのNetMonがあります。またはWiresharkのようなWinPCapベースの製品をお伝えしています。 Wiresharkと同じように、HTTPだけでも不幸になる可能性があります。

他の投稿によると、Fiddler2はHTTPをデバッグするのに使いやすいです。また、NetMon/Wiresharkが役に立たないHTTPSのデバッグに便利です。

0

私が今やっていることは、すべての応答ヘッダーと本文を指定されたファイルにダンプするクラスに、HttpWebRequestをラップすることです。リクエストと同じですが、POSTリクエストでは少し不器用です。

最悪のことは、この新しいラッパークラスを使用するためにHttpWebRequestを使用するすべてのコードを変更する必要がありますが、それほど悪くはありません。

+0

数ヶ月が経過したので、ラッピングソリューションは他の多くのものを簡単にしました。全体的に私はこれが私の特定のユースケースの正しい決定だと思っています。 –

+0

私たちに骨を投げ、出力を得るためにはどのメソッドをオーバーライドする必要があるかを少なくとも言及しますか? –

+0

@JoeKobergラッパーは 'HttpWebRequest'から派生しないので、オーバーライドするものはありません。リクエスト/レスポンスから取り出すことができる情報はすべてログに記録されます。 –

関連する問題