首页 > 解决方案 > Eclipse Kura http 身份验证失败

问题描述

我正在尝试在 java 中向我的 Eclipse Kura 网关发出一个简单的 HTTP Get 和 POST 请求,但我不知道如何使用用户名和密码进行身份验证。我尝试使用 url 语法http://user:pw@ipaddress:port/但我仍然收到 HTTP 错误代码 401。

import java.io.*;
import java.net.*;

public class HTTP {

public static String getHTML() throws Exception {
    StringBuilder result = new StringBuilder();

    String urlToRead = "http://user:pw@ipaddress:port";

    URL url = new URL(urlToRead);

    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("GET");

    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String line;
    while ((line = rd.readLine()) != null) {
        result.append(line);
    }
    rd.close();
    return result.toString();
}

public static void main(String[] args) throws Exception {
    System.out.println(getHTML());
}
}

标签: javaeclipsehttpgetkura

解决方案


我相信您没有以所需的方式提供凭据。这个非常相似的问题已经有一个公认的答案,其中 James Van Huis 建议java.net.Authenticator在打开任何连接之前使用设置身份验证数据。


推荐阅读