HttpClient
は、HTTP要求を送信して応答を取得するライブラリです。
HtmlUnit
は、より高いレベルであり、内部的にHTTPリクエストを行うためにHttpClient
を使用していますが、またNekoHtml
を通じてのJavaScript(CSSParser
を介して)(Rhino
と内部DOM実装を介して)、XPathの(Xalan
を介して)、CSS、不正なHTMLを(ハンドルなどJetty
経由)、WebSocketを()、
次のようなもので
HtmlUnit
で発信要求と応答を変更することができ
:
new WebConnectionWrapper(webClient) {
public WebResponse getResponse(WebRequest request) throws IOException {
WebResponse response = super.getResponse(request);
if (request.getUrl().toExternalForm().contains("my_url")) {
String content = response.getContentAsString("UTF-8");
//change content
WebResponseData data = new WebResponseData(content.getBytes("UTF-8"),
response.getStatusCode(), response.getStatusMessage(), response.getResponseHeaders());
response = new WebResponse(data, request, response.getLoadTime());
}
return response;
}
};
sはhereを示唆しています。
HttpClient
をHtmlUnit
に変更すると、HttpWebConnection.createHttpClient()
を上書きすることができます。クールな例で
WebRequest webRequest = new WebRequest(url, HttpMethod.POST);
HtmlPage page = webClient.getPage(webRequest);
良い答え:
次の方法で
POST
要求を行うことができます。 – vanloc