如何在gargoylesoftware的webclient中获取websocket
How to get websocket in webclient of gargoylesoftware
gargoylesoftware 库支持 Websocket 吗?我想在 webclient 中获取 websocket 对象。
是的,WebSocket
从 2.11 版本开始支持。但是,始终建议使用最新版本。
请确保您使用 BrowserVersion 最新的浏览器,例如CHROME
、FIREFOX_38
或 INTERNET_EXPLORER_11
。
例如:
try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
HtmlUnit 将自动处理 JavaScript 和 WebSocket
。
更新:
要拦截请求和响应,您可以使用:
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;
}
};
gargoylesoftware 库支持 Websocket 吗?我想在 webclient 中获取 websocket 对象。
是的,WebSocket
从 2.11 版本开始支持。但是,始终建议使用最新版本。
请确保您使用 BrowserVersion 最新的浏览器,例如CHROME
、FIREFOX_38
或 INTERNET_EXPLORER_11
。
例如:
try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
HtmlUnit 将自动处理 JavaScript 和 WebSocket
。
更新:
要拦截请求和响应,您可以使用:
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;
}
};