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
                        //这里可以加个错误次数计数等处理
                    }
                }
            }
        });

 

以上。

posted @ 2018-11-27 22:17  pcwen.top  阅读(1200)  评论(0编辑  收藏  举报
pcwen.top