2016-08-02 161 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登錄後已被重定向到主頁:( –