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

2023-05-16

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

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"

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

http摘要认证 java_java – 使用HttpURLConnection在Android中进行摘要式身份验证 的相关文章

随机推荐