RESTful服务中的DIgest身份验证

时间:2015-01-02 17:33:31

标签: java rest digest-authentication

我知道java中有类似下面的东西

  

urlConnection.setRequestProperty(“授权”,“基本”+   encodedString);

用于将基本身份验证的授权标头发送到休息服务。 是否有任何等效的摘要认证属性。

请建议。

1 个答案:

答案 0 :(得分:0)

以下是HttpURLConnection的示例:

final String username = "username";
final String password = "password";

// Compatible for authentication Basic Digest Ntlm (not working with Negotiate)
Authenticator.setDefault(new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        PasswordAuthentication pa = new PasswordAuthentication (username, password.toCharArray());
        return pa;
    }
});

BufferedReader in = null;
StringBuffer sb = new StringBuffer();

try {
    HttpURLConnection connection = (HttpURLConnection) new URL("http://127.0.0.1:8180/").openConnection();

    in = new BufferedReader(new InputStreamReader(connection
            .getInputStream()));

    String line;
    while ((line = in.readLine()) != null) {
        sb.append(line).append("\n");
    }
} catch (java.net.ProtocolException e) {
    sb.append("User Or Password is wrong!");
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
} finally {
    try {
        if (in != null) {
            in.close();
        }
    } catch (Exception e) {
        System.out.println("Exception");
    }
}

System.out.println("The Data is: " + sb.toString());