http摘要认证 java_java – 使用HttpURLConnection在Android中进行摘要式身份验证

正如问题所说,我正在尝试在

android中进行摘要身份验证.

到目前为止,我已经使用了DefaultHttpClient及其身份验证方法(使用UsernamePasswordCredentials等),但自

Android 5以来已弃用,并将在Android 6中删除.

所以我即将从DefaultHttpClient切换到HttpUrlConnection.

现在我正在尝试实现摘要式身份验证,这应该非常简单,如

here所述:

Authenticator.setDefault(new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(username, password);

}

});

但getPasswordAuthentication从未因某种原因被调用.

在我搜索这个问题的过程中,我发现了不同的帖子,说Android中的HttpUrlConnection不支持摘要认证,但这些帖子是从2010年到2012年,所以我不确定这是否仍然是真的.此外,我们在桌面java应用程序中使用HttpUrlConnection和摘要式身份验证,它可以在其中运行.

我还发现了一些帖子,谈论OkHttp. OkHttp似乎被Android引用(更具体地说是HttpUrlConnectionImpl).但是这个HttpUrlConnectionImpl有点奇怪,甚至没有在Eclipse类型层次结构中显示,我也无法调试它.它也应该是一个com.squareup.okhttp.internal.huc.HttpUrlConnectionImpl,而在android中它是一个com.android.okhttp.internal.http.HttpUrlConnectionImpl.

所以我只是无法在Android中使用此HttpUrlConnection进行摘要式身份验证.

没有外部库,谁能告诉我如何做到这一点?

编辑:

服务器请求摘要式身份验证:

WWW-Authenticate: Digest realm="Realm Name",domain="/domain",nonce="nonce",algorithm=MD5,qop="auth"

所以基本身份验证不应该工作,因为服务器要求摘要.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值