我想設置一個Android應用程序,我可以在任意代理或HTTP認證後面訪問URL。也就是說,應用程序不會立即知道URL是否需要身份驗證,並且會通過詢問用戶的憑據來響應身份驗證請求,這與使用Android瀏覽器的方式相同。Android HttpClient反應認證
我最近編制了how to request user authentication for a WebView,響應來自瀏覽器的認證請求,啓動對話框,並將用戶推進到目標頁面。我期待與HttpClient
一樣。
的基本過程,正如我看到它,是:
- 經由
HttpClient.execute
執行請求。- 如果401或407沒有正確的標題,觸發一個「完成」回調。
- 否則...
- 彈出一個詢問用戶名和密碼的對話框。
- 通過
HttpClient.getCredentialsProvider().setCredentials
在HTTP客戶端中設置http憑證。 - 返回步驟1,直到用戶單擊取消或服務器放棄。在這種情況下,觸發收到最後一個響應的「失敗」回調。
我在正確的軌道上還是有人已經實施了類似的東西?我不想在這方面重新發明輪子。
對,這是我解決方案的第三步。前兩個步驟驗證是否存在身份驗證要求(從響應中獲取「AuthScope」)並顯示對話框(從用戶處獲得「UsernamePasswordCredentials」)。如果流程中存在任何需要解決的問題,我是否真的對整個流程是否存在實施感興趣。 –
不是最終答案,但你可能想看看http://stackoverflow.com/a/10850182/808940 – Merlin
也是這個http://stackoverflow.com/a/9716283/808940 – Merlin