如何在gargoylesoftware的webclient中获取websocket

How to get websocket in webclient of gargoylesoftware

gargoylesoftware 库支持 Websocket 吗?我想在 webclient 中获取 websocket 对象。

是的,WebSocket 从 2.11 版本开始支持。但是,始终建议使用最新版本。

请确保您使用 BrowserVersion 最新的浏览器,例如CHROMEFIREFOX_38INTERNET_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;
        }
    };