Javascript 通过http身份验证从IP Cam url获取图像
嗨,我试着把我的闭路电视摄像头的快照放在我的网页/HTML页面上(全部是本地的)。 但问题是HTTP身份验证Javascript 通过http身份验证从IP Cam url获取图像,javascript,node.js,Javascript,Node.js,嗨,我试着把我的闭路电视摄像头的快照放在我的网页/HTML页面上(全部是本地的)。 但问题是HTTP身份验证 <img id="img1" border="0" src="http://admin:admin@192.168.178.41/tmpfs/auto.jpg"> Sry,我对Node.js没有那么感兴趣,希望你能帮我解决我的问题。你应该可以用nodeJs来做这件事,你正在发送请求,但是你没有对结果做任何事情,它可以在回调中使用,试试这个: const auth = '
<img id="img1" border="0" src="http://admin:admin@192.168.178.41/tmpfs/auto.jpg">
Sry,我对Node.js没有那么感兴趣,希望你能帮我解决我的问题。你应该可以用
nodeJs来做这件事,你正在发送请求
,但是你没有对结果做任何事情,它可以在回调中使用,试试这个:
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 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”提供了完整的图像。好的,谢谢,但控制台日志只提供了我无法处理的内容。起初我以为它是base64,但它不是。没有你能处理的东西。
?您在控制台中有什么?console.log(response)
给了你什么?嗯,试试console.log(body.toString('utf-8'))
我也试过了,但更改响应不会改变body还是utf-8?编码问题更改响应
应更改正文,但使用响应访问正文。正文
,该链接似乎已出现,您是否尝试过响应。setEncoding('binary')
?因为很明显你收到的是二进制文件。。
<img id="img1" border="0" src="http://192.168.178.41/tmpfs/auto.jpg?usr=admin&pwd=admin">