2016-08-02 103 views
2

我目前正在开发一个登录模块。点击WebView中的“登录”按钮后,浏览器将收到一个json响应,然后重定向到另一个页面。我怎样拦截这个json响应?如何拦截WebView中POST请求的JSON响应?

我试过shouldOverrideUrlLoading (WebView view, String url)并打印所有的url输入,但是我找不到json响应。

mWebview.setWebViewClient(new WebViewClient() { 

     @Override 
     public WebResourceResponse shouldInterceptRequest (final WebView view, String url) { 
      Log.i("InterceptRequest", url); 
      return super.shouldInterceptRequest(view, url); 
     } 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      Log.i("onPageStarted", url); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      Log.i("onPageFinished", url); 
     } 

    }); 

我也注意到,当我在Chrome和Firefox中看不到这个响应,但我可以在IE中看到它。

谢谢。在Web客户端

回答

1

覆盖shouldOverrideUrlLoading:

@Override 
public boolean shouldOverrideUrlLoading (WebView view, String url) { 

    URL aURL = new URL(url); 
      URLConnection conn = aURL.openConnection(); 
      conn.connect(); 
      InputStream is = conn.getInputStream(); 
      // read inputstream to get the json.. 
      ... 
      ... 
      return true; 
} 
+0

忽略该标志是由非相关的代码:P,与编辑的代码 –

+0

再试一次,但此URL登录后已被重定向到主页:( –