如何从HTTP-auth保护区获取图像?

时间:2012-02-05 19:30:14

标签: php http-authentication

我有一个网络摄像头(D-LINK DCS-2130)和一个网站。相机没有“来宾”选项(或者我还没找到它在哪里?),所以我需要授权我的网站显示来自cam的图像。什么是显示图像的正确方法?

我有两个想法:

  1. 创建getImage.php,它将login + pass(cURL)发送到摄像机和 得到图像。在我的网站代码中,我将使用src="getImage.php"
  2. 创建相同的getImage.php,它将发送login + pass(cURL),获取图像,将其存储在/myCameraSnapshots/Image.jpg wait() 1秒内,然后获取新图像并在其中覆盖它。
  3. 第一种方式会对摄像机做很多请求(1个观察者 - 1个请求),第二个方法会加载我服务器的CPU,但不会打扰摄像机的授权。

    我希望你能说“你是个白痴!有一种简单的方法可以从受保护的文件夹中获取图像!只需要......”;)

2 个答案:

答案 0 :(得分:0)

假设您在getImage.php中进行了适当的授权,第二种方法(使用缓存)可能会更有效。

如果getImage.php使用Content-Type标头,则只需将/myCameraSnapshots放在网络服务器根目录之外(或仅将其限制为本地访问权限),然后使用readfile根据需要在调用时转储内容。

根据相机上图像的更改频率,您需要一种方法来使缓存的图像无效(可能通过删除它),这应该提示getImage.php再次从相机。

答案 1 :(得分:0)

我找到了这个相机的客人密码(客人:客人),所以我的问题解决了,但无论如何每个人都应该阅读答案,其中你可以找到你的问题的答案!