Отправить запрос Версия 15 (Java)
Группа действий: Интеграции
Описание
Действие отправляет HTTP-запрос для обращения к RESTful веб-сервису
Иконка действия
Параметры
Входные параметры
URL REST-сервиса - URL REST-сервиса
Метод - Определяет тип создаваемого запроса. По умолчанию Get.
Тело запроса - Тело отправляемого запроса. Позволяет отправить запрос в виде JSON строки.
Параметры запроса - Параметры строки запроса
Параметры формы - Параметры HTML формы для метода POST.
Авторизация - Словарь с параметрами авторизации - Basic или Bearer Token. В случае Basic авторизации словарь должен иметь ключи «user» и «pass», а значения элементов словаря должны содержать логин и пароль пользователя. В случае Bearer Token авторизации словарь должен иметь ключ «token», а значение элемента должно содержать Bearer Token.
Заголовки запроса - Набор заголовков отправляемого запроса и их значений. Каждый ключ – отдельный заголовок.
Путь к файлу для отправки методом POST - Путь к файлу, который нужно прикрепить к запросу.
Выбор прокси-сервера - Определяет настройки используемого прокси-сервера. Можно использовать системные настройки прокси, заданные на уровне ОС, либо настроить параметры пользовательского прокси-сервера, либо подключаться без прокси-сервера. По умолчанию используются системные настройки.
Протокол прокси- сервера - Протокол прокси-сервера. Например: http, https
Имя хоста или IP-адрес прокси-сервера - Имя хоста или IP-адрес прокси-сервера
Порт прокси-сервера - Порт прокси-сервера
Логин пользователя для подключения к прокси- серверу - Логин пользователя для подключения к прокси-серверу
Пароль пользователя для подключения к прокси-серверу - Пароль пользователя для подключения к прокси-серверу
Получить файл - Возможность получить файлы из запроса. Если выбрано значение «true», обязательно должны быть заполнены поля «Путь до папки» и «Имя файла».
Путь до папки - Путь к папке, в которой нужно сохранить полученный файл.
Имя файла - Поле для имени файла с расширением.
Перезаписать - Перезаписать существующий файл. В случае, если значение параметра false, а в указанной папке уже существует файл с таким же именем и расширением, то будет вызвана ошибка. Значение по умолчанию - false.
Отключить SSL - Отключить SSL. Если значение true, то отключается опция проверки SSL-сертификата. По умолчанию значение false.
Выходные параметры
Статус ответа - Числовая переменная, в которую запишется код статуса ответа веб-сервиса. Возвращается всеми методами.
Заголовки ответа - Набор заголовков, получаемых от сервера, и их значения. Возвращается всеми методами. Если в ответе от сервера встречаются повторяющиеся заголовки, их значения собираются в отдельную коллекцию, которая сохраняется в словаре с заголовком в качестве ключа.
Тело ответа - Строковая переменная, в которую запишется тело ответа веб-сервиса в raw формате. Возвращается всеми методами
Идентификатор - Строковая переменная, в которую запишется идентификатор из заголовка ответа „Id“. Возвращается только методом POST
Location - Заголовок с указателем ресурса объекта. Имеет смысл для статусов 201, 3хх и только для метода POST
Настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
URL REST-сервиса | URL REST-сервиса | Robin.String | Да | |
Метод | Определяет тип создаваемого запроса. По умолчанию Get. | Robin.String | Нет | |
Тело запроса | Тело отправляемого запроса. Позволяет отправить запрос в виде JSON строки. | Robin.String | Нет | |
Параметры запроса | Параметры строки запроса | Robin.Dictionary | Нет | |
Параметры формы | Параметры HTML формы для метода POST. | Robin.Dictionary | Нет | |
Авторизация | Словарь с параметрами авторизации - Basic или Bearer Token. В случае Basic авторизации словарь должен иметь ключи «user» и «pass», а значения элементов словаря должны содержать логин и пароль пользователя. В случае Bearer Token авторизации словарь должен иметь ключ «token», а значение элемента должно содержать Bearer Token. | Robin.Dictionary | Нет | |
Заголовки запроса | Набор заголовков отправляемого запроса и их значений. Каждый ключ – отдельный заголовок. | Robin.Dictionary | Нет | |
Путь к файлу для отправки методом POST | Путь к файлу, который нужно прикрепить к запросу. | Robin.FilePath | Нет | |
Выбор прокси-сервера | Определяет настройки используемого прокси-сервера. Можно использовать системные настройки прокси, заданные на уровне ОС, либо настроить параметры пользовательского прокси-сервера, либо подключаться без прокси-сервера. По умолчанию используются системные настройки. | Robin.String | Нет | |
Протокол прокси- сервера | Протокол прокси-сервера. Например: http, https | Robin.String | Нет | |
Имя хоста или IP-адрес прокси-сервера | Имя хоста или IP-адрес прокси-сервера | Robin.String | Нет | |
Порт прокси-сервера | Порт прокси-сервера | Robin.String | Нет | |
Логин пользователя для подключения к прокси- серверу | Логин пользователя для подключения к прокси-серверу | Robin.String | Нет | |
Пароль пользователя для подключения к прокси-серверу | Пароль пользователя для подключения к прокси-серверу | Robin.Object | Нет | |
Получить файл | Возможность получить файлы из запроса. Если выбрано значение «true», обязательно должны быть заполнены поля «Путь до папки» и «Имя файла». | Robin.Boolean | true | Нет |
Путь до папки | Путь к папке, в которой нужно сохранить полученный файл. | Robin.FolderPath | C:\doc\img | Нет |
Имя файла | Поле для имени файла с расширением. | Robin.String | Нет | |
Перезаписать | Перезаписать существующий файл. В случае, если значение параметра false, а в указанной папке уже существует файл с таким же именем и расширением, то будет вызвана ошибка. Значение по умолчанию - false. | Robin.Boolean | true | Нет |
Отключить SSL | Отключить SSL. Если значение true, то отключается опция проверки SSL-сертификата. По умолчанию значение false. | Robin.Boolean | true | Нет |
Результаты | ||||
Статус ответа | Числовая переменная, в которую запишется код статуса ответа веб-сервиса. Возвращается всеми методами. | Robin.String | ||
Заголовки ответа | Набор заголовков, получаемых от сервера, и их значения. Возвращается всеми методами. Если в ответе от сервера встречаются повторяющиеся заголовки, их значения собираются в отдельную коллекцию, которая сохраняется в словаре с заголовком в качестве ключа. | Robin.Dictionary | ||
Тело ответа | Строковая переменная, в которую запишется тело ответа веб-сервиса в raw формате. Возвращается всеми методами | Robin.String | ||
Идентификатор | Строковая переменная, в которую запишется идентификатор из заголовка ответа „Id“. Возвращается только методом POST | Robin.String | ||
Location | Заголовок с указателем ресурса объекта. Имеет смысл для статусов 201, 3хх и только для метода POST | Robin.String |
Особые условия использования
Подробнее о REST: https://ru.wikipedia.org/wiki/REST
Пример использования 1
Задача
отправить GET запрос к сервису https://dadata.ru/api/find-party/ , сохранив результат ответа в файл формата json.
Решение
воспользоваться действием "Отправить запрос".
Реализация
- Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
Поле "URL REST-сервиса" - это адрес, к которому необходимо подключиться. Более подробная информация о методе находится по ссылке: https://dadata.ru/api/find-party/.
Поле "Метод" - в нашем случае необходимо указать значение GET.
Поле "Получить файл" - необходимо проставить чек-бокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чек-бокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
- Нажать на кнопку "Старт" в верхней панели.
Результат
Программный робот отработал успешно. Сохранен файл формата json с ответом от сервиса.
Пример использования 2
Задача
отправить POST запрос к сервису http://shop.bugred.ru/api/items/search/, для получения актуальных данных об изделии и разобрать ответ от сервиса, сохранив результат ответа в файл .txt.
Решение
воспользоваться действием "Отправить запрос".
Реализация
Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
- Поле "URL REST-сервиса" - это адрес, к которому необходимо подключиться (REST запрос) — http://shop.bugred.ru/api/items/search/. Более подробная информация о методе находится по ссылке: https://testbase.atlassian.net/wiki/spaces/SHOP/pages/1957464487/Search.
- Поле "Метод" - в нашем случае необходимо указать значение POST.
- Поле "Тело запроса" - необходимо указать текст тела запроса. {"query": "Шорты-юбка"}
- Поле "Заголовки запроса" - словарь, в котором необходимо указать название заголовков и их ключи. В нашем случае словарь из 2-х записей. Пример заполнения поля "Заголовки запроса":
Все остальные поля не имеют отношения к смыслу запроса и его формату. Поля начиная с "Выбор прокси-сервера" и заканчивая полем "Пароль пользователя для подключения к прокси-серверу" - это все поля, которые относятся к настройке прокси-сервера, если он необходим. В нашем случае, прокси-сервер отсутствует.
Поле "Получить файл" - необходимо проставить чек-бокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чек-бокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
Поле "Перезаписать" необходимо на тот случай, если в данной папке уже содержится файл с таким же названием и расширением.
При запуске робота необходимо нажать на кнопку "Старт" в верхней панели.
Результат
робот отработал успешно. Ответ от сервиса разобран роботом.
Пример использования 3
Задача
необходимо отправить rest-запрос на сервис https://dadata.ru/ для получения актуальных данных об организации и разобрать ответ от сервиса.
В решении указано, как верно заполнить параметры для конкретной задачи, а так же рассмотрены остальные параметры.
Решение
воспользоваться действием "Отправить запрос". Весь процесс представлен в схеме робота rest-zapros.robin-source .
Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
Разберем подробно параметры действия
- Поле "URL REST-сервиса" - это адрес, к которому необходимо подключиться. Подключаться мы будем к сервису dadata. Тело запроса выглядит в одну строчку. Данные формируются в формате JSON.
- Поле "Метод" - в нашем случае необходимо указать значение POST.
- Поле "Тело запроса" - необходимо указать текст тела запроса. Если параметры должны быть переданы не в теле, а в URL, то в этом случае параметры запроса необходимо указать сразу в URL. Зависит это от сервиса, т.е как сервис ожидает получить запрос (в теле запроса или в URL).
- Поле "Параметры формы" - в данном поле можно заполнить значения для тела запроса. Отличие от поля "Тело запроса" : "Тело запроса"- это строка, "Параметры формы" - словарь. Поле "Параметры формы" используется для метода POST. В словаре указываются в виде ключей названия объектов JSON , название элементов и далее значения по этим элементам.
- Поле "Параметры запроса" - нужно на тот случай, если сервис ожидает, что параметры запроса будут переданы через URL, а не через тело запроса.
- Поле "Заголовки запроса" - словарь, в котором необходимо указать название заголовков и их ключи. В нашем случае словарь из 3-х записей:
- Пример заполнения поля "Заголовки запроса":
- Один из заголовков - это заголовок с авторизацией. Его можно указать в поле "Авторизация", но так же ошибкой не будет, если данный заголовок будет указан в поле "Заголовки запросов".
- Поле "Путь к файлу для отправки методом POST"- необходимо указать путь до файла с запросом, если он требуется.
- Все остальные поля не имеют отношения к смыслу запроса и его формату. Поля начиная с "Выбор прокси-сервера" и заканчивая полем "Пароль пользователя для подключения к прокси-серверу" - это все поля, которые относятся к настройке прокси-сервера, если он необходим
- В поле "Выбор прокси-сервера" необходимо выбрать какой вариант использовать
- Если системный прокси-сервер, то будут использоваться настройки сервера, которые установлены в самой вашей системе под которой работает робот.
- Если выбрано значение "Без прокси-сервера" , то в этом случае не используются ни системные настройки , ни какие-либо другие.
- При выборе значений "Системный прокси-сервер" или "Без прокси-сервера", поля ниже можно не заполнять.
- Только если выбрано значение "Пользовательский прокси-сервер" необходимо заполнить поля ниже (выделены на скрине).
- Остальные поля связаны с получением файла от сервиса.
- Поле "Получить файл" - необходимо проставить чек-бокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
- Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чек-бокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
- Поле "Перезаписать" необходимо на тот случай, если в данной папке уже содержится файл с таким же названием и расширением
- При запуске робота необходимо нажать на кнопку "Старт" в верхней панели.
Результат
робот отработал успешно. Ответ от сервиса разобран роботом.