.NET でプログラム的に HTTP トラフィックをリッスンする方法はありますか?

StackOverflow https://stackoverflow.com/questions/137360

質問

Web サイトのテストにブラウザー自動化を使用していますが、ブラウザーからの HTTP リクエスト (つまり、画像、外部スクリプト、XmlHttpRequest オブジェクト) を検証する必要があります。ブラウザが送信内容を確認するために使用するプロキシをプログラムでインスタンス化する方法はありますか?

私はすでに Fiddler を使用してトラフィックを監視していますが、継続的なビルド統合で使用できる UI のないものが必要です。

役に立ちましたか?

解決

私も同じことを簡単に調べて、2 つの解決策を検討しました (ただし、まだ試していません)。

私の最初の提案は、HttpListener クラス (場合によっては Webclient またはアプリケーションにリクエストを再ポストするための他の System.Net http 関連クラス) を WebBrowser テスト呼び出しのプロキシとして使用することです。私は HttpListener を使用した経験がありませんが、アプリへの呼び出しをプロキシするためのシンプルで有望な方法のように思えます。

私の 2 番目の提案は、Fiddler と同じことを行うことです。テスト マシン上の WinINET Http スタックを利用して、プロキシとして機能します (Web ブラウザの呼び出しだけに絞り込むための何らかのフィルタを使用します)。残念ながら、私が見つけることができたこの最良の例は Fiddler 自体であり、私が知っているコードを取得する唯一の方法は Reflector です。別の方法で Fiddler プロキシ コードにアクセスできる可能性がありますが、このパスを完全に調査する時間がありませんでした。

Hth!、リチャード

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top