2012-10-18 56 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/