2

我在使用 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"

当我在相机设置中为普通用户启用特权查看视频时,此命令工作正常。但是当我禁用这个权限时,上面的命令就失败了。

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

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

非常感谢,

丰乐

4

2 回答 2

1

我认为您可能需要使用某种 HTTP 身份验证,无论是Basic还是Digest。我会先尝试基本身份验证,所以在你的请求中发送一个额外的标题,比如

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

AuthString您构造一个字符串“用户名:密码”并使用 BASE64 对其进行编码。

有关 HTTP 身份验证的更多信息,请查看链接的 Wikipedia 文章。

于 2012-02-22T14:51:38.117 回答
0

我通过以下方式解决了关于授权的部分

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

其中 request 是一个 HttpGet 实例;

于 2012-12-08T19:40:16.730 回答