如何使用IP Camera进行身份验证?

时间:2012-02-22 14:15:56

标签: c++ ip-camera

使用IP Camera Panasonic(BL-C111CE)时遇到问题。

我想从这台相机中获取动作jpeg流。所以我做了以下步骤:

1. Open socket on HTTP port: 

 mySocket = connect("192.168.1.253" /*ip*/, "80" /*port*/);

2. Send the following string command to camera:

 "GET /nphMotionJpeg?&Resolution=640x480&Quality=Motion&Framerate=30 HTTP/1.1\r\n\r\n"

在相机设置中为普通用户启用权限视图视频时,此命令正常工作。但是当我禁用此权限时,上述命令失败。

我已搜索过,而且我知道我需要发送管理员的用户名和密码才能对相机进行身份验证。

但我不知道发送用户名和密码的语法。我必须发送哪一步?

非常感谢,

Phong Le

2 个答案:

答案 0 :(得分:1)

我认为您可能需要使用某种HTTP身份验证,BasicDigest。我首先尝试使用基本身份验证,因此请在您的请求中添加其他标头,如

GET /nphMotionJpeg?&Resolution=640x480&Quality=Motion&Framerate=30 HTTP/1.1
Authorization: Basic <AuthString>

对于AuthString,您构造一个字符串'username:password'并使用BASE64对其进行编码。

有关HTTP身份验证的详细信息,请查看链接的维基百科文章。

答案 1 :(得分:0)

我通过

解决了有关授权的部分

request.setHeader(“Authorization”,“Basic”+ Base64.encodeToString(“user:password”.getBytes(),Base64.NO_WRAP));

其中request是HttpGet实例;