--- id: HTTP sidebar_class_name: HTTP keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, HTTP, HTTPS] --- # HTTP (Клиент) Этот раздел посвящен библиотеке для работы с протоколом HTTP в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы ## Начало работы Модуль HTTP предназначен для быстрого создания HTTP-запросов в 1С:Предприятие и OneScript при помощи текучего интерфейса. Каждый такой запрос должен начинаться инициализацией HTTP-клиента одним из следующих способов: ```bsl title="Универсальный способ (рекомендуется)" HTTPКлиент = OPI_ЗапросыHTTP .НовыйЗапрос() .Инициализировать(URL) ``` ```bsl title="Способ только для 1С" HTTPКлиент = Обработки.OPI_HTTPКлиент.Создать().Инициализировать(URL); ``` ```bsl title="Способ только для OneScript" HTTPКлиент = Новый OPI_HTTPКлиент; HTTPКлиент.Инициализировать(URL); ``` Также клиент может быть инициализирован без указания URL. Подробнее см. в разделе *Инициализация* ## Общий порядок описания запроса После инициализации клиента, новый запрос может быть описан произвольным количеством дополнительных действий, перечисленных в подразделах данного блока документации ```bsl 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-клиента, из которого лог может быть получен вручную) ```bsl URL = "https://exemple.com"; СтруктураПараметров = Новый Структура("param1,param2", "text", 10); HTTPКлиент = OPI_ЗапросыHTTP .НовыйЗапрос() .Инициализировать(URL) .УстановитьПараметрыURL(СтруктураПараметров) .ОбработатьЗапрос("GET"); Если Не HTTPКлиент.Ошибка Тогда Ответ = HTTPКлиент.ВернутьОтветКакJSONКоллекцию(); Иначе Ответ = HTTPКлиент.ПолучитьЛог(); КонецЕсли; ``` > **Ошибка** - экспортное поле типа Булево, которое устанавливается в Истина при возникновении критической ошибки в работе клиента