こんにちは、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 データにのみ関心があります。