我有一个 IP 摄像机,我想在我的网页上显示实时 View 。
网络摄像机不允许匿名登录,所以我需要在连接时输入用户名和密码。
我有javascript:
<img src="http://user:password@camera_ip_address/cgi-bin/jpg/image.cgi?" width="640" height="480" name="refresh">
<script language="JavaScript" type="text/javascript">
image = "http://camera_ip_address/cgi-bin/jpg/image.cgi?"
function Start() {
tmp = new Date();
tmp = "?"+tmp.getTime()
document.images["refresh"].src = image+tmp
setTimeout("Start()", 100)
}
Start();
</SCRIPT>
它在 firefox 中工作正常但是:
http://user:password@camera_ip_number
在其他浏览器中不起作用(它会弹出一个表单来输入用户名和密码)。
但是在 PHP 中你可以使用 user:password 我已经通过使用检查过它:
<?php
header('Content-type: image/jpeg');
print( file_get_contents( 'http://user:password@camera_ip_address/cgi-bin/jpg/image.cgi?' ));
?>
当然它只显示一个框架,但你不必输入用户名和密码。
如何使用 PHP 登录网络摄像机?如果我可以在进入网页时登录一次,我的 javascript 将正常工作,因为浏览器会记住用户名和密码,直到我关闭浏览器。
我不知道如何发送用户名和密码登录。
对不起我的英语。
最佳答案
好的,我已经使用 PHP 和 JavaScript 让它工作了。也许对其他人有帮助:
将 PHP 文件另存为,例如,snapshot.php:
<?php
$img="http://user:password@camera_ip/cgi-bin/jpg/image.cgi?";
header ('content-type: image/jpeg');
readfile($img);
?>
在 HTML 文件中,添加此脚本:
<img src="http://domain.com/snapshot.php" width="640" height="380" name="refresh">
<script language="JavaScript" type="text/javascript">
image = "http://domain.com/snapshot.php"
function Start() {
tmp = new Date();
tmp = "?"+tmp.getTime()
document.images["refresh"].src = image+tmp
setTimeout("Start()", 300)
}
Start();
</script>
它在每个浏览器下都可以正常工作。如果我将超时设置为小于 300,就会有一些滞后。我不知道为什么会这样;可能是互联网连接或网站速度。
关于javascript - 自动登录网络摄像机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20150664/