java - 如何从 Webview 的页面内部获取 json 响应(我使用用户代理获取响应)?

标签 java android android-webview instagram-api user-agent

Json i want to get is here, I want to keep this json

private void logData(WebView view, final String url) {
    view.evaluateJavascript("document.documentElement.outerHTML.toString()", new ValueCallback<String>() {
        @Override
        public void onReceiveValue(String value) {


            Ion.with(context).load(url).asString().setCallback(new FutureCallback<String>() {
                @Override
                public void onCompleted(Exception e, String result) {

                    if (result != null && result.length() > 0) {

                        int maxLogSize = 1000;
                        for (int i = 0; i <= result.length() / maxLogSize; i++) {
                            int start = i * maxLogSize;
                            int end = (i + 1) * maxLogSize;
                            end = Math.min(end, result.length());
                            Log.v("LoggedHTML", result.substring(start, end));
                        }

                    }
                }
            });


        }
    })
}

这段代码给了我页面的html文档,我想打印json

最佳答案

WebViewClient yourWebClient = new WebViewClient() {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        wb.loadUrl("javascript:HtmlViewer.showHTML" +
                "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
    }
};
wb = (WebView) findViewById(R.id.webview);
wb.getSettings().setJavaScriptEnabled(true);
wb.getSettings().setSupportZoom(true);
wb.getSettings().setBuiltInZoomControls(true);
wb.setWebViewClient(yourWebClient);
wb.loadUrl("http://pqrs.abcde.com/facebook");
wb.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");

关于java - 如何从 Webview 的页面内部获取 json 响应(我使用用户代理获取响应)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62067489/

相关文章:

android - 持有应用程序上下文实例是一种不好的做法吗?

android - Google map 只显示在我的设备上

android - 为什么 CordovaWebViewClient 不再适用于 Cordova 6

java - 在 Java 中使用 PBEWithHmacSHA256AndAES_256 加密要存储在文件中的密码

java - 嵌套类无法解析为类型

java - 在 Eclipse RCP 中查找当前打开的对话框

android - 全屏横向 WebView 中的 Vimeo 视频

android - 使用 Oreo 在 OnePlus 5 中启动我的 Sencha 应用程序时仅出现白屏

java - 如何使用maven配置文件和覆盖层来构建和打包多个指定项目?

java - 以有限的执行次数高效地线程安全地实现业务服务操作