我有一个WebView
组件,我WebViewClient
为它设置了一个:
WebView webView = (WebView)findViewById(R.id.my_webview);
webView.setWebViewClient(
new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String newUrl) {
//Here, I handle the url redirecting.
//@newUrl is the redirected url
// How to get server response code here??
}
}
);
正如您在上面看到的,我的代码处理在shouldOverrideUrlLoading(...)
. 它工作正常。有时,重定向的服务器响应是带有错误消息的错误代码,例如服务器日志是:
< 400
< Content-Type: text/plain
Bad header value: 'name'
在上述情况下,WebView
页面显示“ Bad header value: 'name' ”。
我的问题是,在我的 java 代码中,如何获取重定向响应的服务器响应代码(例如,在上述情况下400 )?
==================== 我试过的==========================
我试图添加onReceivedError()
到new WebViewClient(){...}
, 以捕获错误响应,但代码没有被执行。
@Override
public void onReceivedError (WebView view, int errorCode, String description, String failingUrl){
Log.v("onReceivedError:", errorCode+":"+description);
}