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