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

Выполнить HTTP запрос

картинка_0

Описание

Блок позволяет выполнить HTTP запрос. Требуется указать Url - адрес вызываемого ресурса, Таймаут - максимальное время, в течение которого клиент ожидает выполнения запроса, блок имеет выпадающее меню. Клик по символу раскрывающегося списка открывает следующее меню:

картинка_1

В меню представлены следующие опции, которые соответствуют типу запроса:

  • GET - получение ресурса;
  • PUT - обновление ресурса;
  • POST - создание ресурса;
  • DELETE - удаление ресурса.

Требуется указать кодировку (по умолчанию задана utf-8). Заголовки запроса, параметры, данные и файлы указываются опционально. Данные передаются только при POST и PUT запросах.


Примеры использования

  • Пример 1

    В данном примере блок выполняет HTTP запрос на создание коммита в проекте GitLab:

    1. Переменной headers присваивается словарь с заголовками запроса;
    2. Переменной data присваивается словарь с данными HTTP запроса;
    3. Блок выполняет HTTP запрос POST на создание нового коммита в проекте GitLab. Из документации на странице https://docs.gitlab.com/ee/api/commits.html, запрос имеет вид:
    PAYLOAD=$(cat << 'JSON'
    {
    "branch": "master",
    "commit_message": "some commit message",
    "actions": [
    {
    "action": "create",
    "file_path": "foo/bar",
    "content": "some content"
    }
    ]
    }
    JSON
    )
    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
    --data "$PAYLOAD" "https://gitlab.example.com/api/v4/projects/1/repository/commits"
    1. Переменной response присваивается ответ от сервера в виде массива, содержащий в себе: ответ от сервера, заголовки ответа, код ответа;

      • Пример ответа от сервера

        [{'id': '12345678900987654321', 'short_id': 'e23d55g2',
        'created_at': '2023-09-01T11:05:11.000+00:00',
        'parent_ids': ['f123f123t123t123t123tre01'],
        'title': 'Puzzle RPA commit', 'message': 'Puzzle RPA commit',
        'author_name': 'Иван Иванов', 'author_email': 'i.ivanov@test.ru',
        'authored_date': '2023-09-01T11:05:11.000+00:00', 'committer_name': 'Иван Иванов',
        'committer_email': 'i.ivanov@test.ru',
        'committed_date': '2023-09-01T11:05:11.000+00:00',
        'trailers': {},
        'web_url': 'https://gitlab.puzzle_rpa.ru/i.ivanov/puzzle_rpa_test/-/commit/12345678900987654321',
        'stats': {'additions': 1, 'deletions': 0, 'total': 1}, 'status': None,
        'project_id': 1, 'last_pipeline': None},
        {'Server': 'test', 'Date': 'Fri, 01 Sep 2023 11:05:12 GMT',
        'Content-Type': 'application/json', 'Content-Length': '732',
        'Connection': 'keep-alive', 'Cache-Control': 'max-age=0, private,
        must-revalidate', 'Etag': 'W/"12345678900987654321"', 'Vary': 'Origin',
        'X-Content-Type-Options': 'nosniff', 'X-Frame-Options': 'SAMEORIGIN',
        'X-Request-Id': '01Request123Id', 'X-Runtime': '0.262695',
        'Strict-Transport-Security': 'max-age=63072000',
        'Referrer-Policy': 'strict-origin-when-cross-origin'},
        201]
    2. Из ответа переменной commits_ID присваивается ID созданного коммита;

    3. Выполняется HTTP запрос GET на получение информации о созданном коммите. Из документации на странице https://docs.gitlab.com/ee/api/commits.html, запрос имеет вид:

      curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
      "https://gitlab.example.com/api/v4/projects/1/repository/commits/commits_ID"
    4. Результат ответа сохраняется в файл JSON.

картинка_2

Результат

Созданный коммит на GitLab:

картинка_3
  • Пример 2

    В данном примере выполняется набор запросов HTTP для публикации записи на стене сообщества в ВКонтакте. Запись содержит текст и изображение.

    Первый запрос (GET) позволяет получить информацию по серверу, на который будет загружено вложение. В “Заголовках” указывается токен, в “Параметрах” - id сообщества и версия API.

    Второй и третий запросы (POST) загружают вложение на сервер. Во втором запросе в “Файлах” указывается информация по загружаемому фото, в третьем запросе в “Заголовках” задается токен и тип контента, в “Параметрах” - id сообщества, фото, сервер, хэш и версия API.

    Четвертый запрос (POST) публикует запись на стене ВКонтакте. В “Данных” задается токен, id сообщества, сообщение, вложение и версия API.

картинка_4 картинка_5 картинка_6 картинка_7

Результат

Опубликованный пост на стене сообщества в ВКонтакте:

картинка_8