您好我尝试将CCTV Cam的快照放在我的网页/ HTML页面上(所有本地)。 但问题是HTTP身份验证。
<img id="img1" border="0" src="http://admin:admin@192.168.178.41/tmpfs/auto.jpg">
此解决方案无法实现,因为出于安全原因,Chrome不再允许网址中的凭据。
没有凭据我明显得到错误401。 我用xmlHttpRequest尝试了它,但问题是我无法在相机的ServerSide上激活的CORS,我想要获取图像。我已经尝试在cam中禁用http authentification但接口不允许它。我不关心安全方面,因为凸轮仅用于受保护的本地网络。我也尝试过node.js
var request = require('request');
var options = {
url: 'http://192.168.178.41/tmpfs/auto.jpg',
auth: {
username: 'admin',
password: 'admin'
}
};
request.get(options);
console.log(request.get(options));
Sry,我对Node.js并不满意,希望你能解决我的问题。
答案 0 :(得分:1)
您应该可以使用nodeJs
执行此操作,但是您发送了request
但是您没有对结果做任何事情,它可以在回调中使用,请尝试:
const auth = 'Basic ' + Buffer.from(username + ':' password).toString('base64');
const options = {
url : 'http://192.168.178.41/tmpfs/auto.jpg',
headers : {
"Authorization" : auth
}
}
request.get(options, (error, response, body) => {
console.log(body); // there's your image
});
您可以随时将auth
凭据直接放在url
中:
const options = {
url : 'http://admin:admin@192.168.178.41/tmpfs/auto.jpg'
}
request.get(options, (error, response, body) => {
console.log(body); // there's your image
});
答案 1 :(得分:1)
在这种情况下,您可以更轻松地进行操作,因为ip cam使用参数进行身份验证,可以使用以下标志轻松给出路径:?usr=admin&pwd=admin
结果将是:
<img id="img1" border="0" src="http://192.168.178.41/tmpfs/auto.jpg?usr=admin&pwd=admin">
侧面注释,“ snap.jpg”提供完整图像。