我使用jersey framework和java在netbean IDE中编写了REST Web服务。对于每个请求用户需要提供用户名和密码,我知道身份验证不好。 使用curl命令,如: curl -u username:password -X PUT http://localhsot:8080/user
现在我想从android类调用REST Web服务。我应该写什么?我是android的新手。我有一个使用DefaultHttpClient和CredentialUsernameAndPassword的android类。 但是当我在eclipse中运行时,有时我会遇到运行时异常或sdk异常。
有人给我示例代码和建议吗?
感谢
答案 0 :(得分:1)
您使用基本身份验证吗?如果是这样的话:用这个。
if (username != null && password != null) {
client.getCredentialsProvider().setCredentials(
new AuthScope(null, -1),
new UsernamePasswordCredentials(username, password));
}
或者你可以在标题中添加那些作为setHeader(“Authentication”,“Basic”+ Base64EncodedString(username,pass);
您正在使用代理身份验证。为什么呢?
这篇文章也可能有所帮助:
-u代表ntlm授权,所以也许也会考虑。有一些主题,它说它不支持Android或其他东西,但我相信如果你需要它,你可以解决方法。