我目前正在开发一个登录模块。单击WebView 中的“登录”按钮后,浏览器将收到一个json 响应,然后重定向到另一个页面。我怎样才能拦截这个 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 中看到它。
谢谢。
最佳答案
在网络客户端上覆盖 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;
}
关于android - 如何拦截 WebView 中 POST 请求的 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38732065/