6

こんにちは、browsermob プロキシ + セレン テスト フレームワークを使用して、HTTP POST 要求で実際の POST データを取得しようとしています。基本的に、私はセレンを使用して自動化されたテストを実行しており、テスト中にキーと値のペアと HTTP POST 要求の実際の POST データをキャプチャしたいと考えています。次のロジックを使用すると、POST ヘッダーのキーと値のペアのみをキャプチャできますが、実際の POST データ (別名フォーム フィールド ID 値) はキャプチャできません。POSTDATA を実際にキャプチャする方法はありますか (Firefox の改ざん/ライブ ヘッダーなどのスニッフィング アプリケーションのように)?

ProxyServer proxyServer = null;
proxyServer = new ProxyServer(9101);
proxyServer.start();

proxyServer.setCaptureContent(true);
proxyServer.setCaptureHeaders(true);

Proxy proxy = proxyServer.seleniumProxy();
proxy.setHttpProxy("localhost:9101");

//selenium test config code, omitted for brevity

proxyServer.addRequestInterceptor(new HttpRequestInterceptor() {
public void process(HttpRequest request, HttpContext context) throws  HttpException,  IOException {
   Header[] headers = request.getAllHeaders();
   System.out.println("\nRequest Headers\n\n");
       for(Header h : headers) {
           System.out.println("Key: " + h.getName() + " | Value: " + h.getValue());
       }

   }
});

私が読んだもののうまくいかなかった別の方法は、browsermob プロキシ サーバーで次のフラグを true に設定することでした。

proxyServer.setCaptureContent(true);
proxyServer.setCaptureHeaders(true);

次に、実際の HAR ファイルを出力します。

Har har = proxyServer.getHar();
Date date = new Date();
har.writeTo(new File("c:\\tmp\\har_" + date.getTime()));

キーと値のペア、POST データ、および応答の実際のコンテンツを表示するには...しかし、HAR ファイルを解析すると... POST ヘッダーのキーと値のペアしか表示されません... POST データはありません。 .. 応答内容はありません。ただし、実際の POST データにのみ関心があります。

4

1 に答える 1