JxBrowser之四:对Http Response Code的处理

1、由于各种原因,客户端或者服务端都可能出现err,比如服务端无响应的504 Gateway Time-out

4××   客户错误 
5××   服务器错误

2、使用下面代码,当发生错误时,重新加载对应的url。

        BrowserContext browserContext = BrowserContext.defaultContext();
        NetworkService networkService = browserContext.getNetworkService();
        networkService.setNetworkDelegate(new DefaultNetworkDelegate() {
            //响应开始,一般来说,可以在这里初始化某些数据
            @Override
            public void onResponseStarted(ResponseStartedParams params) {
                String url = params.getURL(); //针对某些特定url进行处理int responseCode = params.getResponseCode();
                if (responseCode >= 400) { //对于返回代码>=400的,我们都简单处理重新加载一次,具体可以根据需求针对处理
                    if (url.contains("baidu")) { //这里根据需要设置对应的关键域
                        //为了避免访问过于频繁,可以使用sleep进行一定的延时
                        params.getBrowser().loadURL(url); //重新访问url
                        //这里可以加个错误次数计数等处理
                    }
                }
            }
        });

以上。

原文地址:https://www.cnblogs.com/chevin/p/10029443.html