2012-10-18 57 views
0

存在SSL加密(由thawte签名,因此没有自签名问题)需要登录的网站。我的目标是从本网站的子页面读取一些数据。在一个网页浏览器的常规流程将是:在Android上解析SSL加密网站

  • 去“https://abc.de”
  • 输入凭据,并击中按钮现在
  • ..登录你点击一个链接,可以看到数据

现在,在Android中,我希望用户点击一个按钮,自动在背景中执行所有这些操作,并以解析后的形式显示结果。

由于我对Android编程知之甚少,我的第一个猜测是WebView。使用凭证直接向登录页面发送POST请求时,此工作正常。但它似乎不能得到WebView的源代码。什么是最好的/最简单的技术/方式来做我想要的?

回答

2

而不是仅仅使用WebView,它可能会更好为使用HttpClientHttpURLConnection(见this blog post对其中使用的讨论)最初从服务器加载页面。然后,您可以对返回的数据进行处理,然后将其传递到WebView进行显示。

0

您能否提交该用户的表格?您可以使用HTTPClient并打开连接来提交表单。然而,这很容易变得棘手和丑陋。有些服务器在允许客户端登录之前将一个随机数传递给浏览器。如果你的服务器具有这样的安全特性,你最终会在编程登录成功之前编写相当多的代码(如果有的话)。此外,您需要使用像[1]这样的HTML解析器来读取数据。

如果可能的话,要求网站公开API检索这些数据要容易得多。这将是我建议的路线。 Web服务还可以通过基于HTTPS的OAuth或BASIC身份验证来验证您的用户。它消除了屏幕抓取的痛苦,但也需要一些时间来投入所述服务。

[1] - http://htmlcleaner.sourceforge.net/