我有一个无线网络摄像机,我想制作自己的网页来显示它的实时流。流的地址是"http://192.168.1.2:8082/index.cgi"
(假定的),它需要用户身份验证。这意味着当我们在浏览器中输入上述 URL 时,它会要求输入用户名和密码。
我想要的是制作一个Java小程序,在加载Java小程序时,它应该验证URL并显示图像/流。
情况就是这样,现在的基本问题是
Q:Java小程序中如何进行Http认证?
我会感谢每一个答案。
我有一个无线网络摄像机,我想制作自己的网页来显示它的实时流。流的地址是"http://192.168.1.2:8082/index.cgi"
(假定的),它需要用户身份验证。这意味着当我们在浏览器中输入上述 URL 时,它会要求输入用户名和密码。
我想要的是制作一个Java小程序,在加载Java小程序时,它应该验证URL并显示图像/流。
情况就是这样,现在的基本问题是
Q: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 中工作的更多信息,请参阅此答案。