我想设置一个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