0

我有一个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);
}
4

1 回答 1

0

截至目前..我猜唯一(正确的)方法不是通过java代码。事实上,它是将javascript注入你的webview,这反过来会给你响应代码。

在此处查看此答案

于 2013-03-21T14:13:00.873 回答