Как пройти аутентификацию с помощью IP-камеры? - PullRequest
2 голосов
/ 22 февраля 2012

Я столкнулся с проблемой при работе с IP-камерой 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"

Эта команда работала нормально, когда я включил привилегированный просмотр видео для обычного пользователя в настройках камеры.Но когда я отключил эту привилегию, вышеприведенная команда завершилась неудачно.

Я искал и знал, что мне нужно отправить имя пользователя и пароль администратора для аутентификации в камере.

Но я неНе знаю синтаксис для отправки моего имени пользователя и пароля.И какой шаг я должен отправить?

Большое спасибо,

Фонг Ле

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Я думаю, вам может понадобиться использовать какую-то HTTP-аутентификацию, либо Basic , либо Digest . Сначала я бы попробовал использовать обычную аутентификацию, поэтому отправьте в своем запросе дополнительный заголовок, например

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

Для AuthString вы создаете строку 'username: password' и кодируете ее, используя BASE64.

Посмотрите связанные статьи Википедии для получения дополнительной информации об HTTP-аутентификации.

0 голосов
/ 08 декабря 2012

я разрешил часть про авторизацию

request.setHeader («Авторизация», «Basic» + Base64.encodeToString («пользователь: пароль» .getBytes (), Base64.NO_WRAP));

где запрос является экземпляром HttpGet;

...