我正在尝试设置一个 Android 应用程序,我可以在其中访问任意代理或 HTTP 身份验证后面的 URL。也就是说,应用程序不会立即知道 URL 是否需要身份验证,而是会通过向用户询问凭据来响应身份验证请求,就像它对 Android 浏览器所做的那样。
我最近研究了如何为 WebView 请求用户身份验证,响应来自浏览器的身份验证请求,打开一个对话框,并将用户推进到目标页面。我希望对HttpClient
.
在我看来,基本过程是:
- 通过 执行请求
HttpClient.execute
。- 如果不是带有正确标头的 401 或 407,则触发“完成”回调。
- 否则...
- 弹出一个对话框,询问用户名和密码。
- 通过在 HTTP 客户端中设置 http 凭据
HttpClient.getCredentialsProvider().setCredentials
。 - 返回步骤 1,直到用户点击取消或服务器放弃。在这种情况下,使用收到的最后一个响应触发“失败”回调。
我是在正确的轨道上还是有人已经实现了类似的东西?我不想在这方面重新发明轮子。