Skip to the content.

Начало

Команда REQUEST (HTTP)

DaJet Script реализует команду REQUEST для выполнения HTTP-запросов, интеграции различных Web API.

Синтаксис команды следующий:

REQUEST '<url>'
  [WHEN <condition>]
   WITH <headers>
 SELECT <options>
   INTO <variable>

<url> - URL адрес запроса.
<condition> - условие выполнения запроса: если условие не выполняется, то запрос тоже. Предложение WHEN опционально.
<headers> - стандартные и пользовательские заголовки запроса.
<options> - параметры выполнения запроса (смотри ниже).
<variable> - переменная типа object, имеющая предопределённый набор свойств (смотри ниже). В эту переменную возвращается результат выполнения запроса, то есть HTTP-ответ (response).

Таблица параметров HTTP-запроса (request)

Параметр Тип данных Описание
Method string Метод HTTP-запроса (GET, POST и т.п.).
Значение по умолчанию: ‘POST’.
OnError string Опция прерывания или продолжения выполнения последующих
команд скрипта в случае возникновения ошибки HTTP-запроса.
Возможные значения: ‘break’ (прервать) и ‘continue’ (продолжить).
Значение по умолчанию: ‘break’ (прервать).
Content string Тело HTTP-запроса (текст в формате UTF-8).

Таблица свойств HTTP-ответа (response)

Параметр Тип данных Описание
Code string Стандартный код HTTP-ответа (200, 404 и т.п.).
Value string Тело HTTP-ответа (текст в формате UTF-8).

Пример простого HTTP-запроса и логирования HTTP-ответа

DECLARE @response object -- Переменная для ответа на HTTP запрос

REQUEST 'http://localhost/1c/hs/test/query'
   WITH User-Agent   = 'DaJet Script'
      , Content-Type = 'text/plain; charset=utf-8'
 SELECT Method  = 'POST'    -- HTTP метод запроса
      , OnError = 'break'   -- break или continue
      , Content = 'Привет!' -- Тело HTTP запроса
   INTO @response           -- { "Code": "200", "Value": "text" }

PRINT 'Code = ' + @response.Code
PRINT 'Body = ' + @response.Value

Наверх