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

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

В меню представлены следующие опции, которые соответствуют типу запроса:
- GET - получение ресурса;
- PUT - обновление ресурса;
- POST - создание ресурса;
- DELETE - удаление ресурса.
Требуется указать кодировку (по умолчанию задана utf-8). Заголовки запроса, параметры, данные и файлы указываются опционально. Данные передаются только при POST и PUT запросах.
Примеры использования
-
Пример 1
В данном примере блок выполняет HTTP запрос на создание коммита в проекте GitLab:
- Переменной headers присваивается словарь с заголовками запроса;
- Переменной data присваивается словарь с данными HTTP запроса;
- Блок выполняет 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"-
Переменной 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]
-
-
Из ответа переменной commits_ID присваивается ID созданного коммита;
-
Выполняется 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" -
Результат ответа сохраняется в файл JSON.

Результат
Созданный коммит на GitLab:

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




-
Проект процесса и материалы для его выполнения
Результат
Опубликованный пост на стене сообщества в ВКонтакте:
