Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过http身份验证从IP Cam url获取图像_Javascript_Node.js - Fatal编程技术网

Javascript 通过http身份验证从IP Cam url获取图像

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 = '

嗨,我试着把我的闭路电视摄像头的快照放在我的网页/HTML页面上(全部是本地的)。 但问题是HTTP身份验证

  <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">