我有一个无线IP摄像机,我想制作自己的网页来显示其实时流。流的地址是"http://192.168.1.2:8082/index.cgi"
(假定的),它需要用户身份验证。这意味着当我们在浏览器中输入上述 URL 时,它会要求输入用户名和密码。
我想要的只是制作一个java小程序,在加载java小程序时,它应该对URL进行身份验证并显示图像/流。
情况是这样的,现在的基本问题是
问:如何在 Java 小程序中进行 Http 身份验证?
我将感谢每一个答案。
您可以通过制作 HttpURLConnection 并在用户名和密码后附加 URL 来实现它。如:
URL myURL = new URL("http://192.168.1.2:8082/index.cgi?username=user&password=");
HttpURLConnection myConnection = (HttpURLConnection) myURL.openConnection();
myConnection.setDoOutput(false);
int status = ((HttpURLConnection) myConnection).getResponseCode();
或者(不是将用户名/密码附加到 url),您可以尝试(不确定在 Applet 中是否允许)为 http 请求设置默认身份验证器,如下所示:
Authenticator.setDefault (new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication ("username", "password".toCharArray());
}
});
你也可以使用Apache HttpComponents HttpClient,它非常易于使用。要了解有关 HTTP 请求在 Java 中如何工作的更多信息,请参阅此答案。