【发布时间】:2011-04-06 12:59:38
【问题描述】:
我已经开始编写一个通过 WebView 为用户提供 HTML 表单的应用程序。由于表单不在我的控制之下,填写的数据可以作为 GET 或 POST 请求发送。我的应用程序需要捕获传输的表单数据,即获取输入到表单字段中的内容。
使用来自 WebViewClient 的适当回调(例如 onPageLoaded()),很容易从 GET 请求中捕获表单数据。但是,我找不到任何合适的方法来允许对 POST 数据使用相同的方法,即能够访问包含表单数据的 HTTP POST 消息正文。我是否在这里遗漏了相关的回调,或者根本无法使用给定的 API(即使是最新的 8 级)完成指定的目标?
假设这是不可能的,我考虑覆盖和扩展 android.webkit 的部分,以便引入一个新的回调钩子,它以某种方式传递给 POST 主体。这样,我的应用程序可以附带一个定制的浏览器/WebViewClient 来满足所需的功能。但是,我在代码中找不到任何好的起点,我很乐意在这方面提供任何提示(以防该方法看起来很有希望)。
提前致谢!
【问题讨论】:
-
其实我自己可能已经找到了一种方法:应该可以在用户提交表单时注入一些解析表单字段的JavaScript。提供的 Javascript-to-Java 接口应该能够将填充的数据传输回 Java 空间以进行进一步处理。将尝试这种方法并报告回来。当然,仍然欢迎任何进一步的反馈!
标签: android