Перейти к основному содержимому

HTTP (Клиент)

Этот раздел посвящен библиотеке для работы с протоколом HTTP в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы

Начало работы

Модуль HTTP предназначен для быстрого создания HTTP-запросов в 1С:Предприятие и OneScript при помощи текучего интерфейса. Каждый такой запрос должен начинаться инициализацией HTTP-клиента одним из следующих способов:

Универсальный способ (рекомендуется)
    HTTPКлиент = OPI_ЗапросыHTTP
.НовыйЗапрос()
.Инициализировать(URL)
Способ только для 1С
    HTTPКлиент = Обработки.OPI_HTTPКлиент.Создать().Инициализировать(URL);
Способ только для OneScript
    HTTPКлиент = Новый OPI_HTTPКлиент;
HTTPКлиент.Инициализировать(URL);

Также клиент может быть инициализирован без указания URL. Подробнее см. в разделе Инициализация

Общий порядок описания запроса

После инициализации клиента, новый запрос может быть описан произвольным количеством дополнительных действий, перечисленных в подразделах данного блока документации


URL = "https://exemple.com/post";
Данные = Новый Структура("Поле1,Поле2,Поле3", 10, "Текст", 20);

Результат = OPI_ЗапросыHTTP.НовыйЗапрос()
.Инициализировать(URL)
.УстановитьJsonТело(Данные)
.ДобавитьЗаголовок("X-My-Header1", "Hello")
.ДобавитьЗаголовок("X-My-Header2", "world")
.ДобавитьAWS4Авторизацию("***", "***", "***")
.ОбработатьЗапрос("POST")
.ВернутьОтветКакJSONКоллекцию();

В общем случае, для выполнения запроса после окончания описания, используется функция ОбработатьЗапрос(Метод, ВыполнятьСразу = Истина) или эта же функция с признаком ВыполнятьСразу = Ложь и вызовом функции ВыполнитьЗапрос отдельно. Для получения конечного ответа после обработки запроса, используется одна из функций раздела Получение ответа, в зависимости от ожидаемого формата тела

Логирование

В процессе работы клиента происходит логирование выполняемых им действий. Для получения лога используется функция ПолучитьЛог, которая возвращает список записанных действий в виде массива или единой строки (в зависимости от значения параметра Строкой). Некоторые функции из раздела Получение ответа также могут возвращать строку лога в исключении, при указании параметра ИсключениеПриОшибке (в противном случае, при ошибке, возвращается объект HTTP-клиента, из которого лог может быть получен вручную)


URL = "https://exemple.com";
СтруктураПараметров = Новый Структура("param1,param2", "text", 10);

HTTPКлиент = OPI_ЗапросыHTTP
.НовыйЗапрос()
.Инициализировать(URL)
.УстановитьПараметрыURL(СтруктураПараметров)
.ОбработатьЗапрос("GET");

Если Не HTTPКлиент.Ошибка Тогда
Ответ = HTTPКлиент.ВернутьОтветКакJSONКоллекцию();
Иначе
Ответ = HTTPКлиент.ПолучитьЛог();
КонецЕсли;

Ошибка - экспортное поле типа Булево, которое устанавливается в Истина при возникновении критической ошибки в работе клиента