我正在寻找一种在我的vadin应用程序中显示jpeg流(来自ip cam)的方法。
我的问题是启动流所需的身份验证。
获取流的简单解决方案:
String url = "...urlgoeshere/video.mjpg";
Image image = new Image();
image.setSource(new ExternalResource(url));
content.addComponent(image);
如果我允许匿名连接到相机,它就像一个魅力,但这不是我真正的目的。
我试图验证:
Authenticator.setDefault(new MyAuthenticator(username, password));
,但它不影响请求。
如果我手动设置一个请求,如:
String url = "...urlgoeshere/video.mjpg";
Authenticator.setDefault(new MyAuthenticator("username", "password"));
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
认证工作,但这样我必须自己处理所有的图像。
是否有更好的方法来显示需要身份验证的流?
我认为你应该能够使用用户名&
外部资源URL中的密码。https://foo: password@example.com
但这取决于网络摄像头用于身份验证的协议,用户名和密码也会显示出来在应用程序的HTML/javascript。
还有一点:微软不久前禁用了这个功能,所以如果你的用户使用的是IE,