android - 如何拦截 WebView 中 POST 请求的 JSON 响应?

标签 android json post webview response

我目前正在开发一个登录模块。单击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/

相关文章:

javascript - 发送 POST 数据时阻止 Safari 规范化 Unicode?

android - 将 snackbar 放在 Utility 类中

Android 和粘性 session

android - 如何向 Flutter 相机添加闪光灯切换按钮 (flutter_camera_ml_vision)

javascript - react native : How to pass props navigating from one screen to another

java - 来自响应的 TextView

php - 本地服务器上的 MySQL 开销

json - golang json迭代不支持索引

php - 安全: Form Submission + javascript/jQuery

php - 输入文本值时数据库无法创建记录 ($_POST)