发出REST请求

时间:2013-03-04 07:33:10

标签: android rest http-authentication

我是使用REST的新手并且不自信。您是否可以帮助并说明创建REST客户端以使用SSL和授权连接到服务器的最佳方法是什么?我不是要问完整的例子,只是要使用哪个库,或者是某些原生库?

2 个答案:

答案 0 :(得分:2)

在Java中,我最喜欢的HTTP客户端库是java.net.HttpURLConnection。它已经在Java API中;它处理缓存,SSL,身份验证。

这是一个例子: https://github.com/Hypertopic/Porphyry/blob/master/src/org/hypertopic/RESTDatabase.java#L181

答案 1 :(得分:1)

您可以使用内置的HttpURLConnection课与宁静的服务进行对话。该类还支持https url,它们为您提供SSL加密。对于身份验证,您可以使用内置机制。

对于用户名+密码或摘要身份验证,您可以使用java.net.Authenticator,您可能需要像这样扩展:

public class AS7Authenticator extends Authenticator {

    private String user;
    private String pass;

    public AS7Authenticator(String user, String pass) {
        this.user = user;
        this.pass = pass;
        if (this.pass==null)
            this.pass=""; // prevent NPE later
    }

    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(user,pass.toCharArray());
    }
}

(取自RHQ的JBossAS7插件)

对于Android版本> 2.3,HttpUrlConnection似乎是Android开发者的首选客户端。