0

示例 URL:http
://www.heatpressnation.com/sublimation-printers-ink.html Websocket URL:https ://us22.zopim.com

调用该页面时,由于 websocket 连接到 zopim.com,HtmlUnit 永远不会完成。如何在设置的超时后强制页面完成或识别 Web 套接字并关闭它。这是我的代码的主要内容:

try
{
        URL url = new URL(strUrl);
        WebRequest webRequest = new WebRequest(url);

        WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24);

        new WebConnectionWrapper(webClient) {
                public WebResponse getResponse(WebRequest request) throws IOException {
                        System.err.println("Url: " + request.getUrl());
                        WebResponse response = super.getResponse(request);
                        if(response.getContentType().equals("text/html") || response.getContentType().equals(null) || response.getContentType().equals("") || response.getContentType().equals("application/x-www-form-urlencoded"))
                        {
                                System.out.println(response.getWebRequest().getUrl());
                        }
                        return response;
                }
        };
        webClient.getOptions().setTimeout(10000);
        webClient.setJavaScriptTimeout(5000);
        webClient.setRefreshHandler(new ImmediateRefreshHandler());
        webClient.getPage(webRequest);
        webClient.waitForBackgroundJavaScript(3000);
}
catch(Exception error)
{
        System.err.println("Error: " + error.toString());
} 
4

0 回答 0