我正在尝试用java向Eclipse Kura网关发送一个简单的HTTP Get和POST请求,但我不知道如何使用用户名和密码进行身份验证。我尝试使用url语法http://user:pw@ipaddress:port/,但仍然收到HTTP401错误代码。
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());
}
}发布于 2018-05-15 23:57:13
我认为您没有以所需的方式提供凭据。This very similar question已经有了一个公认的答案,James Van Huis建议在打开任何连接之前使用java.net.Authenticator设置身份验证数据。
https://stackoverflow.com/questions/50348286
复制相似问题