java - 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());
}
}
解决方案
我相信您没有以所需的方式提供凭据。这个非常相似的问题已经有一个公认的答案,其中 James Van Huis 建议java.net.Authenticator
在打开任何连接之前使用设置身份验证数据。
推荐阅读
- javascript - 在 React 中,如何使 div 逐渐消失并防止其下方的内容在动画结束时跳转?
- jquery - 将 J Query datepicker 添加到 django 表单
- css - 如何在页脚中对齐文本框和按钮?
- python - 每组的唯一值计数作为带有熊猫的新列
- docker - 按主机名的远程 Docker 容器
- c# - 在 C# 中编写延迟加载属性的简洁方法
- material-ui - 如何使用 react-testing-library 检查 Material-UI Checkbox?
- docker - 在 Kubernetes 上部署数据驱动的 Web 应用程序
- azure - 如何为不同的部署配置文件部署不同的 host.json?
- python - 计算文本文件中的唯一单词(Python)