Веб-сервер видеонаблюдения javascript - PullRequest
0 голосов
/ 19 мая 2011

Немного странно, у меня есть система видеонаблюдения, и я связался с производителями, чтобы спросить, есть ли API.Ответ был нет.

Я пытался понять, как я могу сделать живое изображение JPEG и использовать его в своем собственном приложении (c #).

вот ссылка на liveviewстраница, которая отображает прямые трансляции;http://pastebin.com/jCp4jZRh

Интересующая меня строка:

img_buf [0] .src = "ivop.get? Action = live & piccnt = 0 & THREAD_ID =" + thd_id;

Теперь, похоже, piccnt предназначен для остановки кэширования данных браузерами, поэтому это число постоянно меняется, а thd_id представляется номером канала.При попытке получить доступ к этому я получаю следующее сообщение:

Ошибка аутентификации: доступ запрещен, ошибка аутентификации

Даже если я вхожу сначала, то попробуйте приведенный выше URL с моим собственным контекстом, который я все еще получаюсообщение об отказе в доступе.

Вот источник на странице входа в систему;http://pastebin.com/q7nLJ4tk вот источник файла md5.js;http://pastebin.com/du1ggaQB

Я просто немного застрял в том, как авторизоваться, а затем отобразить ленту. У кого-нибудь есть указатели?

спасибо

Ответы [ 3 ]

0 голосов
/ 19 мая 2011

Я ответил на аналогичный вопрос некоторое время назад, и решение в конечном итоге заключалось в том, что вам пришлось установить реферер.

В любом случае, чтобы найти свое решение, загрузите копию Fiddler .

После запуска перейдите на страницу камеры, и вы увидите несколько запросов.Когда вы найдете один из запросов для ivop.get, перетащите его в построитель запросов и выполните его второй раз.

Если после его повторного выполнения он все еще работает (проверьте с помощью инспекторов), затем запуститеизменяя заголовки, удаляя биты один за другим, пока не найдете ключевой элемент.Я подозреваю, что будет либо файл cookie, либо реферер, который необходим.

После того, как вы выяснили эти элементы, вам будет легко сделать соответствующий запрос в вашем приложении.

Если вымогу опубликовать живой URL, я могу помочь вам в этом.

0 голосов
/ 19 мая 2011

Существует много возможностей, и, не имея доступа к исходному коду сервера видеонаблюдения, трудно сказать, каким он может быть.

Я бы предложил открыть утилиту сниффинга заголовков HTTP (например, https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/ для firefox) и посмотреть заголовки для успешного запроса IMG. Затем повторите этот запрос, используя netcat или curl. Как только у вас это получится, попробуйте удалять заголовки HTTP по одному (возможно, вы отправляете какой-то идентификатор сеанса, HTTP Referrer и т. Д. - все это может быть важно для сервера CCTV)

В любом случае, почти наверняка важно, чтобы вы хотя бы аутентифицировались с помощью mlogin.get и передавали полученный идентификатор сеанса в последующих запросах.

0 голосов
/ 19 мая 2011

Лучшее предположение, учитывая ограниченную доступную информацию: они проверяют реферала. Вы можете проверить детали запросов с помощью Fiddler (вы можете даже воспроизвести запрос с немного другим реферером, подтвердить, что это происходит, и т. Д.). Если это так, вы можете установить реферер в HTTPWebRequest: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.referer.aspx

...