HTTP-запрос в 1с

HTTP-запрос в 1с

Простой метод получения данных по HTTP Пример работает в толстом, тонком и веб клиентах. &НаКлиенте Процедура ПолучитьДанные(Команда) // Сформировать строку URL. АдресРесурса = СокрЛП(Адрес); // Отправить запрос на сервер. СтруктураОтвета = ВыполнитьЗапрос(АдресРесурса); Если СтруктураОтвета.Ошибка Тогда Сообщить(СтруктураОтвета.ОписаниеОшибки); Элементы.ТипДня.Заголовок = ""; Иначе Сообщить(СтруктураОтвета.ТипДня); Элементы.ТипДня.Заголовок = СтруктураОтвета.ТипДня; КонецЕсли; КонецПроцедуры &НаСервере Функция ВыполнитьЗапрос(АдресРесурса) Соединение = Новый HTTPСоединение(АдресРесурса); // Установим заголовки Заголовки = Новый Соответствие; Заголовки.Вставить("User-Agent","CrazyElephant_X-1c-1.01 (79636902266@ya.ru)"); // Установим текст запроса ТекстЗапроса = Формат(Дата,"ДФ=yyyy-MM-dd;") + "?covid=1"; Запрос = Новый HTTPЗапрос("/" + ТекстЗапроса,Заголовки); Ответ = Соединение.Получить(Запрос); СтруктураОтвета = ОбработатьРезультатЗапроса(Ответ.КодСостояния,Ответ.ПолучитьТелоКакСтроку()); Возврат СтруктураОтвета; КонецФункции &НаСервере Функция ОбработатьРезультатЗапроса(КодСостояния,ТелоОтвета) СтруктураОтвета = Новый Структура; СтруктураОтвета.Вставить("Ошибка",Ложь); СтруктураОтвета.Вставить("Ответ",""); СтруктураОтвета.ТипДня = ТелоОтвета; Если КодСостояния = 200 Тогда // все ок ИначеЕсли КодСостояния = 400 Тогда СтруктураОтвета.Ошибка = Истина; // ошибка в теле запроса ИначеЕсли КодСостояния = 404 Тогда СтруктураОтвета.Ошибка = Истина; // http сервис не найден Иначе СтруктураОтвета.Ошибка = Истина; // неизвестная ошибка КонецЕсли; Возврат СтруктураОтвета; КонецФункции HTTPS запрос Для установки соединения через HTTPS нужно изменить в коде всего 1 строчку. ...

25 марта 2021 г. · 2 минуты · CrazyElephant_x