使用Onvif抓取海康摄像头图片需要账号密码验证问题

1、首先,使用 Media 模块中的 GetSnapshotUri接口获取图片的url,通过获取的url可以在浏览器上查看图片也可以用java代码下载。但是,当我在浏览器上查看时让我输入账号和密码,如下图:
使用Onvif抓取海康摄像头图片需要账号密码验证问题_第1张图片
问题不大,输入密码和账号不妨碍在浏览器上查看图片,但是当尝试用java代码下载图片时,就出现问题了错误
看到这个异常刚开始有点懵逼,明知道需要账号但是不知道怎么下载图片时添加进去,经过一番Chrome和百度之后,我找到了解决方法。

解决方式,直接上代码

// 获取URL实例
URL url = new URL(urlPath);  
// 获取连接
URLConnection con = url.openConnection();
 String username = ""; // 用户名
String password = ""; // 密码
String userPassword = username + ":" + password;  // 将用户名和密码拼接到一个字符串里中间用 : 分割
// 通过Base64京userPassword重新编码
String encoding = Base64.encodeBase64String(userPassword.getBytes()); 
// 这个设置不能少
con.setRequestProperty ("Authorization", "Basic " + encoding);
// 获取数据流
 InputStream dataInputStream = con.getInputStream();
....下载图片....

你可能感兴趣的:(java的坎坷之路)