1

gargoyle 软件库是否支持 Websocket?我想在 webclient 中获取 websocket 对象。

4

1 回答 1

1

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

请确保您将BrowserVersion与最近的浏览器一起使用,例如CHROMEFIREFOX_38INTERNET_EXPLORER_11

例如:

try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {

HtmlUnit 将自动处理带有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;
        }
    };
于 2015-10-03T18:20:27.137 回答