История страницы
Отправить запрос Версия
...
17 (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 | https://authenticationtest.com/ | Да | ||||||
Метод | Определяет тип создаваемого Тип запроса. | По умолчанию Get.Значение по умолчанию - GET | Robin.String | GET | Нет | |||||
Тело запроса | Тело | отправляемого запроса. Позволяет отправить запрос запроса, которое указывается в виде JSON строки | .Robin.String | Нет | ||||||
Параметры запроса | Параметры строки запроса, которые указываются в URL | Robin.Dictionary | Нет | |||||||
Параметры формы | Параметры HTML формы для метода POST | .Robin.Dictionary | Нет | |||||||
Тип аутентификации | Тип аутентификации, которая будет использоваться в отправляемом запросе. Если не заполнить поле "Параметры аутентификации", то выбранный "Тип аутентификации" будет проигнорирован. Значение по умолчанию - Нет | Robin.String | NTLM | Нет | ||||||
Параметры аутентификации | Параметры аутентификации для запроса. Если выбран тип аутентификации "Basic" или "NTLM", словарь должен иметь ключи "user" и "pass", содержащие значение логина и пароля соответственно. Если выбран тип "Bearer Token", словарь должен иметь ключ «token» со значением токена аутентификации | Robin.Dictionary | key - user, value - user key - pass. value - password | Авторизация | Словарь с параметрами авторизации - 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 | user | Нет | ||||
Пароль | пользователя для подключения к прокси- | серверусервера | Пароль пользователя для подключения к прокси-серверу | Robin.Object | password | Нет | ||||
Получить файл | Возможность получить файлы из запроса. Если выбрано значение «true», обязательно должны быть заполнены поля «Путь | до папки» к папке» и «Имя файла» | .Robin.Boolean | true | Нет | |||||
Путь | до папкик папке | Путь к папке, в которой нужно сохранить | полученный файл.файл, полученный при выполнении запроса | Robin.FolderPath | C:\doc\img | Нет | ||||
Имя файла | Поле для имени файла с расширением.Имя, которым будет назван файл, полученный при выполнении запроса. Имя нужно указывать вместе с расширением, которое должно быть у файла | Robin.String | true | Нет | ||||||
Перезаписать | Перезаписать существующий файл. В случае, если значение параметра false, а Если значение "true", и в указанной папке | уже существует файл с таким же именем и расширением, то | будет вызвана ошибка. Значение по умолчанию - false.новый файл его перезапишет. Если "false", файл перезаписан не будет и действие вернет ошибку | Robin.Boolean | true | Нет | ||||
Отключить SSL | Отключить SSL. Если значение "true", то | отключается опция функция проверки SSL-сертификата | . По умолчанию значение false.будет отключена | Robin.Boolean | true | Нет|||||
Результаты | ||||||||||
Статус ответа | Числовая переменная, в которую запишется код Код статуса ответа, полученного от веб-сервиса. Возвращается | всеми методами.при использовании любого метода | Robin.String | 200 | ||||||
Заголовки ответа | Набор заголовков и их значений, получаемых от | сервера, и их значения. Возвращается всеми методамивеб-сервиса. Возвращается при использовании любого метода. Если в ответе | от сервера встречаются есть повторяющиеся заголовки, | их значения собираются в отдельную коллекцию, которая сохраняется в словаре с заголовком в качестве ключа.будет только один ключ с этим заголовком; значением ключа будет коллекция, содержащая все значения этих заголовков | Robin.Dictionary | |||||
Тело ответа | Строковая переменная, в которую запишется тело ответа Тело ответа, полученное от веб-сервиса, в raw формате. Возвращается | всеми методамипри использовании любого метода | Robin.String | |||||||
Идентификатор | Строковая переменная, в которую запишется идентификатор из заголовка ответа „Id“Значение идентификатора из заголовка "Id", полученного от веб-сервиса. Возвращается только | методом при использовании метода "POST" | Robin.String | |||||||
Указатель ресурса | Значение из заголовка "Location", полученное от веб-сервиса | Location | Заголовок с указателем ресурса объекта. Имеет смысл для статусов 201, 3хх и только для метода POST | Robin.String |
Особые условия использования
Подробнее о REST: https://ru.wikipedia.org/wiki/REST.
Пример использования 1
Задача
отправить GET запрос к сервису Пройти NTLM-аутентификацию на сайте https://dadataauthenticationtest.rucom/api/find-party/ , сохранив результат ответа в файл формата jsonHTTPAuth/ и получить результаты в виде json-файла.
Решение
воспользоваться Воспользоваться действием "Отправить запрос".
Реализация
- Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
Поле "URL REST-сервиса" - это адрес, к которому необходимо подключиться. Более подробная информация о методе находится по ссылке: https://dadataauthenticationtest.rucom/apiHTTPAuth/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"- необходимо указать путь до файла с запросом, если он требуется.
- Все остальные поля не имеют отношения к смыслу запроса и его формату. Поля начиная с "Выбор прокси-сервера" и заканчивая полем "Пароль пользователя для подключения к прокси-серверу" - это все поля, которые относятся к настройке прокси-сервера, если он необходим.
- В поле "Выбор прокси-сервера" необходимо выбрать какой вариант использовать.
- Если системный прокси-сервер, то будут использоваться настройки сервера, которые установлены в самой вашей системе под которой работает робот.
- Если выбрано значение "Без прокси-сервера" , то в этом случае не используются ни системные настройки , ни какие-либо другие.
- При выборе значений "Системный прокси-сервер" или "Без прокси-сервера", поля ниже можно не заполнять.
- Только если выбрано значение "Пользовательский прокси-сервер" необходимо заполнить поля ниже (выделены на скрине).
- Остальные поля связаны с получением файла от сервиса.
- Поле "Получить файл" - необходимо проставить чекбокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
- Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чекбокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
- Поле "Перезаписать" необходимо на тот случай, если в данной папке уже содержится файл с таким же названием и расширением.
- При запуске робота необходимо нажать на кнопку "Старт" в верхней панели.
Результат
робот Робот отработал успешно. Ответ от сервиса разобран роботом.