修正したくないクライアントとのHTTPインタラクションをテストする必要があります。テストする必要があるのは、クライアントのリクエストに特定の静的ヘッダーが含まれている場合のサーバーの動作です。
このテストを実行する最も簡単な方法は、すべてのリクエストにヘッダーを挿入するHTTPプロキシをセットアップすることだと考えています。これを設定する最も簡単な方法は何ですか?
開発環境では、ポート80上のApacheをポート8080上のアプリケーションサーバーのプロキシとして構成し、次のApache構成でこのようなことを行います。
NameVirtualHost *
<VirtualHost *>
<Proxy http://127.0.0.1:8080/*>
Allow from all
</Proxy>
<LocationMatch "/myapp">
ProxyPass http://127.0.0.1:8080/myapp
ProxyPassReverse http://127.0.0.1:8080/myapp
Header add myheader "myvalue"
RequestHeader set myheader "myvalue"
</LocationMatch>
</VirtualHost>
LocationMatch および RequestHeader のドキュメントを参照してください。
これにより、ヘッダーmyheader:myvalueがアプリケーションサーバーに送信されるリクエストに追加されます。
Fiddler( http://www.fiddler2.com/fiddler2/ )をインストールすることもできます。これはインストールが非常に簡単です(たとえば、Apacheより簡単です)。
起動後、システムプロキシとして登録されます。次に、「ルール」メニューを開き、「ルールのカスタマイズ...」を選択して、リクエストをカスタマイズできるJScriptファイルを開きます。
カスタムヘッダーを追加するには、OnBeforeRequest
関数に行を追加するだけです。
oSession.oRequest.headers.Add("MyHeader", "MyValue");
tinyproxy を試してみます。実際、スクリプト言語をそこに埋め込むのが一番いいでしょう... Lua の完璧な仕事のようです。特に mysqlproxy
http://www.proxomitron.info を使用して、必要なヘッダーなどを設定します。
プロキシを使用するのではなく、Firefoxプラグイン "Modify Headers" を使用してヘッダーを挿入します(私の場合は、別の人としてテストできるようにシングルサインオンを使用してログインを偽装します)。
システムにRubyがある場合、Sinatraを使用した小さなRubyプロキシはどうですか(Sinatra Gemをインストールしてください)。これは、Apacheをセットアップするよりも簡単です。コードを見つけることができます こちら