通过HTTP身份验证从IP凸轮URL获取图像



嗨,我尝试将CCTV凸轮的快照放在我的网页/HTML页面上(所有localy(。但是问题是HTTP身份验证。

  <img id="img1" border="0" src="http://admin:admin@192.168.178.41/tmpfs/auto.jpg">

由于安全原因,Chrome不再允许在URL中允许凭据。

没有凭据,我显然会遇到错误401。我使用XMLHTTPRequest尝试了一下,但是问题是我无法在相机的服务器上激活的COR,我想从我想获得图像的地方。我已经尝试在CAM中禁用HTTP身份验证,但是接口不允许。我不在乎安全方面,因为CAM仅在受保护的本地网络中使用。我还尝试了一些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到期,希望你能帮助我解决我的问题。

您应该能够使用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
});

在这种情况下,您可以更轻松地做到这一点,因为IP凸轮用参数验证您可以轻松地使用以下标志给路径:?usr=admin&pwd=admin

结果是:

<img id="img1" border="0" src="http://192.168.178.41/tmpfs/auto.jpg?usr=admin&pwd=admin">

sidenote," snap.jpg"提供完整的图像。

最新更新