简体   繁体   English

如何在石像鬼软件的webclient中获取websocket

[英]How to get websocket in webclient of gargoylesoftware

Is Websocket supported in gargoylesoftware library? 石像鬼软件库中是否支持Websocket? I want to get websocket object in webclient. 我想在webclient中获取websocket对象。

Yes, WebSocket is supported since version 2.11. 是的,从2.11版本开始支持WebSocket However, it is always recommended to use the latest version. 但是,始终建议使用最新版本。

Please ensure you use BrowserVersion with recent browser, eg CHROME , FIREFOX_38 , or INTERNET_EXPLORER_11 . 请确保您将BrowserVersion与最近的浏览器一起使用,例如CHROMEFIREFOX_38INTERNET_EXPLORER_11

Eg: 例如:

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

HtmlUnit will automatically handle the JavaScript with WebSocket . HtmlUnit将使用WebSocket自动处理JavaScript。

Update: 更新:

To intercept the requests and responses, you can use: 要拦截请求和响应,可以使用:

    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;
        }
    };

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM