如何使用HttpClient认证机制

 我来答
北大青鸟总部06
2015-10-30 · TA获得超过4045个赞
知道大有可为答主
回答量:1806
采纳率:62%
帮助的人:249万
展开全部
  由于HttpClient内置支持HTTPBasic认证方式,因而使用HttpClient通过HTTPBasic认证的步骤显得较为简单。

  1.为HttpClient的状态对象添加用户名/密码对。可以注意到在setCredentials方法中的另一个参数为AuthScope对象。事实上我们添加的每个用户名/密码对都与一个AuthScope对象相关联。AuthScope对象确定了此用户名/密码对的适用站点,在示例中所给出的用户名/密码对将只适用于www.sample.com位于80端口上的资源。HttpClient在与其他站点交互时将不会使用此用户名/密码对,这样有效地防止了机密数据被传送至不必要的站点。

  2.开启HttpClient提供的占先式(Preemptive)认证功能。开启了这个功能后,HttpClient对于那些处在之前请求过的URI空间范围内的资源,会主动地随请求一起向服务器发送Basic认证数据,而不是等待服务器返回是否需要认证的响应后再提交认证。在多数情况下,能够减少请求-响应传递的次数,从而间接提高了服务器的响应能力。值得注意的是在这种情况下必须在AuthScope对象中明确指定适用站点,以避免向不相关的站点泄漏敏感数据。3.创建GetMethod对象,此对象将使用GET方式对保护资源发出HTTP请求。

  4.setDoAuthentication(true)语句将告知HttpClient在服务器端发回需要认证的请求后,自动将我们在步骤1中设置的用户名/密码对发送至服务器,以完成认证过程。

  5.执行GET请求,获取和处理受保护资源的内容。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式