Получение скриншота (фото) с камеры из 1С. Управляемые формы

20.04.18

Интеграция - Периферийные устройства

Получение и вывод на управляемую форму фото с IP камер видео наблюдения.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
: ФотоСКамер
.epf 10,07Kb ver:1.0.0
81
81 Скачать (1 SM) Купить за 1 850 руб.

После получения задания от руководства при определенных действиях получать и хранить фото с камер видео наблюдения, решил обратиться к гуглу, но после продолжительного поиска информации по русскоязычным ресурсам наткнулся на старые и уже не актуальные форумы. Решения были найдены на англоязычных форумах и других языках (в основном питон).

В данной обработке присутствует пример получения фото с камер Hikvision , Dahua и получение фото с ПО TRASSIR (по их словам любую камеру можно к ним подключить).

Камеры Dahua используют Дайджест-аутентификация (Digest), в обработке показано, как с ней работать из 1С.

Ниже привожу пример для TRASSIR 

ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); //для получения Джейсона
    Соединение = Неопределено;
    Попытка
        ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
        Соединение = Новый HTTPСоединение(ИПТрассир,ПортТрассир,,,,,ssl); //ИП и Порт Вашей камеры
    Исключение
        Соединение = Неопределено;    
    КонецПопытки;
    Результат =  Соединение.Получить("/login?password="+ПарольТрассир,ИмяВременногоФайла); //необходимо передать ТОЛЬКО пароль от камеры в ответ прийдет джейсон
    //в котором будет наш ид на текущую сессию
    ЧтениеДжейсон = Новый ЧтениеJSON();
    ЧтениеДжейсон.ОткрытьФайл(ИмяВременногоФайла,"UTF8");
    Текст = ПрочитатьJSON(ЧтениеДжейсон,Истина);
    
    Для Каждого Стр Из Текст Цикл
        
        Если Стр.Ключ = "sid" Тогда
            ИДСессии = Стр.Значение;
            Прервать;
        КонецЕсли;
        
    КонецЦикла;   
    
    ЧтениеДжейсон.Закрыть();    
    УдалитьФайлы(ИмяВременногоФайла); //удалим файл что бы не захламлять

      ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); 
        
        Результат =  Соединение.Получить("/objects/?sid=" + ИДСессии,ИмяВременногоФайла);  //нам прийдет имена всех подключенных камер 
        
        ЧтениеДжейсон = Новый ЧтениеJSON();
        ЧтениеДжейсон.ОткрытьФайл(ИмяВременногоФайла,"UTF8");
        Текст = ПрочитатьJSON(ЧтениеДжейсон,Истина);
        
        Для Каждого Стр Из Текст Цикл
            НоваяСтрока = ТаблицаКамер.Добавить();//ТаблицаКамер ТЧ на форме
            НоваяСтрока.ИмяКамеры = Стр.Получить("guid");
            НоваяСтрока.НазваниеКамеры = Стр.Получить("name");     
        КонецЦикла;  
        
        ЧтениеДжейсон.Закрыть();
        УдалитьФайлы(ИмяВременногоФайла);

///////

//После получения выбираем наше имя камеры

        ИмяВременногоФайлаКартини = ПолучитьИмяВременногоФайла("jpeg");
        
        Результат =  Соединение.Получить("/screenshot/" + Элементы.ТаблицаКамер.ТекущиеДанные.ИмяКамеры + "?timestamp=0&sid=" + ИДСессии ,ИмяВременногоФайлаКартини);  
        
        // и размещение ее на форме:
        Описание = Новый ОписаниеПередаваемогоФайла(ИмяВременногоФайлаКартини, "");
        ПомещаемыеФайлы = Новый Массив;
        ПомещенныеФайлы = Новый Массив;
        
        ПомещаемыеФайлы.Добавить(Описание);    
        ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы,,Ложь);
        ЭтаФорма.КартинкаТрассер = ПомещенныеФайлы[0].Хранение;
        
        УдалитьФайлы(ИмяВременногоФайлаКартини);

 

Интерфейс обработки интуитивно понятен. Присутствуют 3 вкладки для каждой камеры. Необходимо заполнить параметрами и нажать кнопку "Выполнить запрос".

Особенность камер ХикВизион: если камера находится с Вами в одной сети, порт указывать необязательно.

Разработка проводилась на платформе 1С:Предприятие 8.3 (8.3.11.2867).

Работоспособность проверено на конфигурации 1С:CRM для Украины, редакция 2.0 (2.0.13.3).

фото камеры скриншот фото с камеры как получить фото скриншот из 1С камеры и 1С  Дайджест-аутентификация Digest Digest

См. также

Периферийные устройства Программист Платформа 1С v8.3 1С:Управление производственным предприятием Россия Абонемент ($m)

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

1 стартмани

31.12.2024    359    0    user821472    0    

2

Периферийные устройства Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 Россия Абонемент ($m)

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

10 стартмани

14.11.2024    765    4    aximo    0    

3

Периферийные устройства Системный администратор Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Простая в использовании обработка https://infostart.ru/1c/tools/1001819/ в целом решает поставленную задачу, но имеет явный недостаток - взаимодействует только с принтерами, подключенными к серверу. Доработанная версия позволяет работать как с принтерами на клиенте, так и на сервере

1 стартмани

30.08.2024    500    3    Sergey1CSpb    0    

4

Периферийные устройства Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Расширение для вывода информации для покупателя из РМК на второй монитор. Также реализован вывод картинок из каталога в левую часть экрана покупателя. Разработано для УТ 11.5, УНФ 3.0.6 и 3.0.9.

1 стартмани

12.08.2024    1465    30    Rastopchinss    16    

4

Периферийные устройства Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

02.08.2024    813    0    AlOkt    0    

5

Периферийные устройства Программист Пользователь Платформа 1С v8.3 1С:Розница 3.0 Абонемент ($m)

Пример работы с эмулятором дисплея покупателя через библиотеку БПО.

6 стартмани

10.07.2024    888    6    aximo    0    

3

Периферийные устройства Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Речь пойдет не о сканерах штрихкодов 2D/3D/RF/распознавании лиц и прочего, а о старом добром аппарате, позволяющем считать страницу и отправить ее образ в ПК через COM/USB порт. Рассмотрим, как можно подключить и использовать сканер в типовых 1С-конфигурациях. И что делать, если никак не найти команду настройки сканера.

1 стартмани

28.05.2024    1237    Sergey1CSpb    2    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 21.04.18 01:17
Сообщение было скрыто модератором.
...
2. androgin 21.04.18 16:28 Сейчас в теме
Уже можно не использовать временные файлы для получения ответа от соединения.
Пример:
Запрос = Новый HTTPЗапрос;
Запрос.АдресРесурса = Настройка_АдресСкрипта;
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
simuljakr; Hexed; +2 Ответить
3. harvester_sorrow 24 21.04.18 17:00 Сейчас в теме
(2) Спасибо за информацию, на момент написания обработки, к сожалению не знал об этом, в будущем учту

(2)
5. androgin 22.04.18 02:31 Сейчас в теме
(3)
Текст = ПрочитатьJSON(ЧтениеДжейсон,Истина);
Для Каждого Стр Из Текст Цикл
......


какой объект в Текст?
7. harvester_sorrow 24 22.04.18 09:44 Сейчас в теме
(5) Насколько я помню структуру,но более точно смогу в понедельник сказать если интересно.
9. androgin 22.04.18 14:59 Сейчас в теме
(7) да, интересно ))
хочу узнать зачем вы циклом ключ ищете)))
10. harvester_sorrow 24 23.04.18 09:05 Сейчас в теме
(9)Прошу прощения, запамятовал, там приходит соответствие, а внутри еще ряд соответствий, в которых хранятся значения.
6. androgin 22.04.18 02:48 Сейчас в теме
(3)
Описание = Новый ОписаниеПередаваемогоФайла(ИмяВременногоФайлаКартини, "");
ПомещаемыеФайлы = Новый Массив;
ПомещенныеФайлы = Новый Массив;
        
ПомещаемыеФайлы.Добавить(Описание);    
ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы,,Ложь);

ЭтаФорма.КартинкаТрассер = ПомещенныеФайлы[0].Хранение;
Показать

Это можно заменить этим:
Хранение = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяВременногоФайлаКартини), Новый УникальныйИдентификатор);
ЭтаФорма.КартинкаТрассер = Хранение;
8. harvester_sorrow 24 22.04.18 09:47 Сейчас в теме
(6) можно,не спорю.Также сразу можно избавиться от модальности используя НачатьПомещенияФайла.
В данном примере показан пример работы с камерой, но за критику спасибо,всегда полезно узнать что то новое)
оggghhhiiu; +1 Ответить
4. пользователь 22.04.18 00:43
Сообщение было скрыто модератором.
...
11. Realnt 22.07.18 08:26 Сейчас в теме
Добрый день, для каких моделей видеорегистраторов написана эта обработка?
12. пользователь 21.10.19 18:16
Сообщение было скрыто модератором.
...
13. adeptis 10 05.11.19 12:48 Сейчас в теме
Здравствуйте. Подскажите, какой вы порт указывали для камер Dahua?
14. harvester_sorrow 24 05.11.19 13:23 Сейчас в теме
(13) Добрый день. У нас она висела на 80, но это у админа вашего (или того кто устанавливал/настраивал) нужно узнать на каком порту висит камера.
15. adeptis 10 13.11.19 17:30 Сейчас в теме
Здравствуйте. Не могу понять, откуда берутся эти значения в коде:
nc=00000001
cnonce=""4d705c8aa158ff60""

	ОтветМД5 = НРЕг(MD5(НРег(A1)+":"+Нонс2+":00000001:4d705c8aa158ff60:auth:"+НРег(А2)));	
		fg.Заголовки.Вставить("Authorization","Digest username="+Пользователь+", realm="+realm+", nonce="""+Нонс2+""", uri="+URI+", algorithm=MD5, response="""+ОтветМД5+""", qop=auth, nc=00000001, cnonce=""4d705c8aa158ff60""");	
	


Как вы их получили?
16. harvester_sorrow 24 13.11.19 17:49 Сейчас в теме
(15)
00000001:4d705c8aa158ff60:auth
Данная конструкция была честно стырена к какого то американского сайта, она была на питоне.
17. harvester_sorrow 24 13.11.19 17:49 Сейчас в теме
(15) откуда они взялись, не скажу к сожалению.
18. Logarifm_Andre 15 16.06.21 15:04 Сейчас в теме
добрый день.
Имеется камера ХикВизион.
Скачали обработку, указали параметры.
Выдало сообщение: Не удалось подключится к сайту, по заданным параметрам

Подскажите, что сделали не так?
19. adeptis 10 16.06.21 15:17 Сейчас в теме
(18) рекомендую в коде найти строку http(s)-запроса и попытаться с подставленными значениями (IP, порт и т.д.) открыть эту фотку в браузере. Если в браузере открывается - вы на правильном пути, дальше разбираться надо.

Не знаю как по ХикВиженам, но часто бывает, что у разных камер одного и того же (!!!) производителя разные модели камер требуют разной строки http-запроса. А бывает такое, что камера просто не умеет делать снепшоты. В этом случае можно купить софтовую систему типа Трассир (эта обработка её теоретически поддерживает) или DevLine. Эти системы работают не со снепшотами, а с потоками видео. И уже из потоков могут выдернуть фотку и передать её по http-запросу в 1С.
20. Logarifm_Andre 15 16.06.21 15:42 Сейчас в теме
(19)
Не знаю как по ХикВиженам, но часто бывает, что у разных камер одного и того же (!!!) производителя разные модели камер требуют разной строки http-запроса. А бывает такое, что камера просто не умеет делать снепшоты. В этом случае можно купить софтовую систему типа Трассир (эта обработка её теоретически поддерживает) или DevLine. Эти системы работают не со снепшотами, а с потоками видео. И уже из потоков могут выдернуть фотку и передать её по http-запросу в 1С.


Спасибо за быстрый отклик.

Соединение проходит без ошибок.
Но вот после Соединение.Получить(....) ошибка:

по причине:
Файл не обнаружен '/Streaming/channels/101/picture?snapShotImageType=JPEG'
по причине:
Ошибка работы с Интернет: ресурс не найден (404). <!DOCTYPE html>
<html><head><title>Document Error: Not Found</title></head>
<body><h2>Access Error: 404 -- Not Found</h2>
<p>Request Refuse: cgi integrate function is disabled.</p>
</body>
</html>

по причине:
Ошибка работы с Интернет: ресурс не найден (404)


Может параметры поменялись процедуры Соединение.Получить(....)

ЗЫ: простите за глупые вопросы, не занимался такими http-запроса
21. Logarifm_Andre 15 16.06.21 16:01 Сейчас в теме
Параметры Соединение.Получить(....) не изменялись, по крайней мере в СП
22. Logarifm_Andre 15 16.06.21 16:12 Сейчас в теме
Нашел в инструкции к ХикВижен:
получить JPEG-снимок основного потока камеры:


Удалось, указав свои параметры, получить фото с камеры на Google Chrome, а вот в Internet Explorer отказывается этаже команда работать.

Возможно настройки Internet Explorer играют роль, но какие?
23. Logarifm_Andre 15 16.06.21 17:42 Сейчас в теме
Пытаемся получить JPEG-снимок основного потока камеры (на сайте разработчика ХитВижн имеется ниже описанная инструкция):


При вставке данной ссылки в браузер Google Chrome картинку получаем.
При вставке в Internet Explorer появляется ошибка

Возможно сталкивались с таким?

Спасибо
Прикрепленные файлы:
25. adeptis 10 17.06.21 09:32 Сейчас в теме
(23) По всей видимости приводимые вами инструкции в комментах не отображаются. Не вижу то, что вы после двоеточия приводите.

Вопрос: при попытке в Хроме открыть эту строку, возникает ли диалоговое окно с дополнительным запросом логина-пароля? Если да, то вполне возможно есть какая-нибудь дополнительная аутентификация, которая в этой же обработке описана для камер Dahua. Впрочем, для Dahua она тоже у нас не завелась - пришлось нам переписывать :).

Еще такой момент: строка запроса в Хроме получается http или https??? Скопируйте её из Хрома и вставьте в блокнот. Там несколько по-разному код 1С выглядит для http и https, насколько помню.

P.S. Я не разработчик, я тоже эту обработку купил :)
26. Logarifm_Andre 15 17.06.21 09:42 Сейчас в теме
(25) Спасибо, все получилось.
У нас параллельно с вами шли комментарии тут)))

Вопрос: при попытке в Хроме открыть эту строку, возникает ли диалоговое окно с дополнительным запросом логина-пароля? Если да, то вполне возможно есть какая-нибудь дополнительная аутентификация

Да такое было.

Вообщем, выше я описал что необходимо сделать для работоспособности.....но вот этого сообщения пока не вижу.
Лучше всего приложить скрин настроек из ХикВижн
Прикрепленные файлы:
24. Logarifm_Andre 15 17.06.21 09:31 Сейчас в теме
Решение нашлось.
В 1С получаем http-запросом. Спасибо автору за обработку, она рабочая
Получаем JPEG-снимок основного потока камеры (информация от разработчика по ссылке My Webpage в разделе "RTSP ссылки"):
http://admin:passwd@ip-cam/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG


Изменить настройки IP камеры в веб интерфейсе:
1. Сеть - Доп.настройки - Протокол интеграции
1.1. Установить галочку "Включить-Hikv..."
1.2. "Аутентификация Hikvision-CGI" - указать "digest/basic"
2. Система - Безопасность - Авторизация - указать "digest/basic"
27. erutan 105 15.08.21 21:22 Сейчас в теме
Здравствуйте, коллеги.
Спасибо, помогло! Но есть уточнение по Трассиру

на форме порт- это строка, а для поднятия соединения пришлось переделать число

	Попытка
		ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
		Соединение = Новый HTTPСоединение(ИПТрассир,число(ПортТрассир),,,,,ssl);
	Исключение
		Соединение = Неопределено;	
	КонецПопытки;
28. adeptis 10 16.08.21 09:27 Сейчас в теме
(27) вот-вот. Вообще непонятно, как оно изначально работало с этой ошибкой.

А всё остальное по трассиру прямо таки заработало? Помню, пришлось ещё что-то переделывать по дайджест-аутентификации. Впрочем, может, конечно, от конкретной модели камеры зависит.
29. erutan 105 16.08.21 13:48 Сейчас в теме
(28) да, остальное у нас взлетело.
30. slider_rk 12.01.22 12:57 Сейчас в теме
31. slider_rk 12.01.22 18:53 Сейчас в теме
пришлось допиливать
32. Batman1978 21.09.22 14:31 Сейчас в теме
(31)
Не затруднит поделиться ?
33. slider_rk 28.09.22 13:40 Сейчас в теме
не затруднит. куда?
34. slider_rk 28.09.22 14:47 Сейчас в теме
&НаКлиенте
перем Авторизация;
&НаКлиенте
Процедура ПолучитьИСохранитьФото( ЗаписатьВФайл = ложь )
	//ip порт логин пароль область(узнается отдельно)
	Логин = "admin";
	Пароль = ""; 
	Ресурс = "cgi-bin/snapshot.cgi";
	Соединение = Неопределено;
	Попытка
		Соединение = Новый HTTPСоединение("192.168.1.100", 80);
	Исключение
		Соединение = Неопределено;	
		возврат;
	КонецПопытки;
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Authorization",Авторизация);	
	Запрос = Новый HTTPЗапрос(Ресурс,Заголовки);
	Результат = неопределено;
	РезультатЗапроса = Общий.ВыполнитьHTTPЗапрос(Соединение, Ресурс, Заголовки, Результат);	
	Если РезультатЗапроса тогда
		 Картинка = СоздатьКартинку(Результат);
		 Если ЗаписатьВФайл тогда
			 ИмяФайла = ПолучитьИмяВременногоФайла("*.jpg");
			 Картинка.Записать( ИмяФайла );
		 конецесли;
		 //ФотоСнимок - реквизит формы "строка"
		 ФотоСнимок = ПоместитьВоВременноеХранилище(Картинка, ЭтаФорма.УникальныйИдентификатор);
		 возврат;
	 Иначе
		 Если Результат = неопределено тогда
			  возврат;
		КонецЕсли;
	КонецЕсли;
	Ответ = Результат.Заголовки.Получить("WWW-Authenticate");
	ОтветСтруктура =  ОтветВСтруктуру(Ответ);
	//Digest realm="Login to c3a2a9416508ed3f90c6ed772e86ec4d", qop="auth", nonce="139864845", opaque="361774fbda64eb3229464463d6bc745e71c66032"
	realm = "";
	Если ОтветСтруктура.Свойство("Digest_realm",realm) Тогда
	КонецЕсли; 
	nonce = "";
	Если ОтветСтруктура.Свойство("nonce",nonce) Тогда
	КонецЕсли; 
	
	
	cnonce = стрзаменить(""+новый УникальныйИдентификатор,"-","");
	      
	
	A1 = MD5(Логин + ":" + realm + ":" + Пароль);
	А2 = MD5("GET:"+Ресурс);

	ОтветМД5 = НРЕг(MD5(НРег(A1)+":"+nonce+":00000001:"+cnonce+":auth:"+НРег(А2)));	
	
	Авторизация = "Digest username="""+Логин+""", realm="""+realm+""", nonce="""+nonce+""", uri="""+Ресурс+""", algorithm=""MD5"", response="""+ОтветМД5+""", qop=""auth"", nc=""00000001"", cnonce="""+cnonce+"""";
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Authorization",Авторизация);	
	
	Результат = неопределено;
	РезультатЗапроса = Общий.ВыполнитьHTTPЗапрос(Соединение, Ресурс, Заголовки, Результат);	
	
	Если РезультатЗапроса тогда
		 Картинка = СоздатьКартинку(Результат);
		 Если ЗаписатьВФайл тогда
			 ИмяФайла = ПолучитьИмяВременногоФайла("*.jpg");
			 Картинка.Записать( ИмяФайла );
		 конецесли;
		 
		 ФотоСнимок = ПоместитьВоВременноеХранилище(Картинка, ЭтаФорма.УникальныйИдентификатор);
		 
		 возврат;
	 Иначе
		// Если Результат = неопределено тогда
		//	  возврат;
		//КонецЕсли;
	КонецЕсли;

КонецПроцедуры

Функция ОтветВСтруктуру(СтрокаОтвет)
	//Digest realm="Login to c3a2a9416508ed3f90c6ed772e86ec4d", qop="auth", nonce="139864845", opaque="361774fbda64eb3229464463d6bc745e71c66032"
	
	Строки = СтрРазделить(СтрокаОтвет,",");
	Результат = новый Структура;
	Для каждого Подстрока Из Строки Цикл
		мКлючИЗначение = СтрРазделить(Подстрока, "=");
		сКлюч = сокрЛП( мКлючИЗначение[0] );
		сКлюч = СтрЗаменить(сКлюч," ","_");
		
		сЗначение = сокрЛП( мКлючИЗначение[1] );
		сЗначение = СтрЗаменить(сЗначение,"""","");
		Результат.Вставить(сКлюч, сЗначение );
	КонецЦикла;
	возврат Результат;
КонецФункции // ОтветВСтруктуру()


&НаСервере
Функция MD5(СтрокаДляХеширования)
  
  Хеш = Новый ХешированиеДанных(ХешФункция.MD5);
  Хеш.Добавить(СтрокаДляХеширования);
  Возврат СтрЗаменить(Строка(Хеш.ХешСумма), " ", "");
    
КонецФункции

/////////////////////////////

Авторизация = "";
Показать
Aili; оggghhhiiu; zvp111; Andy.Shel; +4 Ответить
35. marat055 26.09.23 16:03 Сейчас в теме
Добрый день. Можно ли ее доработать под мобильное приложение?
36. user2089141 30.05.24 07:57 Сейчас в теме
Добрый день.

Просьба подсказать, при открытии обработки выходи вот такая ошибка. С чем это может быть связано? Версия платформы 1С:Предприятие 8.3 (8.3.24.1368)

Ошибка инициализации модуля: ВнешняяОбработка.ФотоСКамер.Форма.Форма.Форма
по причине:
{ВнешняяОбработка.ФотоСКамер.Форма.Форма.Форма(44,3)}: Переменная не определена (ОбщегоНазначенияКлиентСервер)
<<?>>ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru='Не удалось подключится к сайту, по заданным параметрам';uk='не вдалося підключитися до сайту, по заданим параметрам'"));
[ОшибкаКомпиляцииВстроенногоЯзыка]
37. dimaster 40 18.07.24 10:58 Сейчас в теме
кто-нибудь сталкивался с тем, что в камере
hikvision hiwatch DS-i200(b)
нет в прошивке "1. Сеть - Доп.настройки - Протокол интеграции
1.1. Установить галочку "Включить-Hikv..."
1.2. "Аутентификация Hikvision-CGI" - указать "digest/basic""
прошивка V5.4.800 build 210813


в браузере http://admin:passwd@ip-cam/ISAPI/Streaming/channels/101/picture?snapShotImageType=JPEG
отрабатывает ок.

------
ошибка 401
что-то с авторизацией

что на 1с, что на питоне - одинаково

import requests
from requests.auth import HTTPDigestAuth

# Параметры подключения к камере
camera_ip = '192.168.165.20' # IP-адрес камеры
username = 'admin' # Имя пользователя
password = 'pass' # Пароль

# URL для получения изображения
snapshot_url = f'http://{camera_ip}/ISAPI/Streaming/channels/101/picture'

# Заголовки запроса
headers = {
'Content-Type': 'image/jpeg'
}

# Параметры аутентификации
auth = HTTPDigestAuth(username, password)

try:
# Отправка запроса на получение изображения
response = requests.get(snapshot_url, headers=headers, auth=auth)

# Проверка успешности запроса
if response.status_code == 200:
# Сохранение изображения в файл
with open('snapshot.jpg', 'wb') as file:
file.write(response.content)
print('Изображение успешно сохранено в файл snapshot.jpg')
else:
print(f'Ошибка при получении изображения: {response.status_code}')
except requests.exceptions.RequestException as e:
print(f'Ошибка при отправке запроса: {e}')
Прикрепленные файлы:
38. ak_nikolay 06.01.25 16:15 Сейчас в теме
(37) удалось ли решить тогда эту проблему?
Оставьте свое сообщение