История страницы
...
Отправить запрос Версия 17 (Java)
Группа действий: Интеграции
...
Описание
Действие отправляет Отправляет HTTP-запрос для обращения к RESTful веб-сервису
...
.
Иконка действия
Параметры и их настройки
Свойство |
Описание |
Тип | Пример заполнения | Обязательность заполнения поля | ||
Параметры |
Определяет тип создаваемого запроса.
По умолчанию Get
Выпадающий список:
- GET
- POST
- PUT
- DELETE
- HEAD
- OPTIONS
URL ресурса
URL REST-сервиса
Протокол должен быть указан!
HTTPS можно использовать с методами:
- GET
- POST
- PUT
- DELETE
- HEAD
- OPTIONS
HTTP можно использовать только с методами:
- GET
- HEAD
Если протокол не будет указан, то по умолчанию будет использован HTTPS!
Если указан, то его значение на совести пользователя. Код не меняет его значение.
- GET
Логин и пароль для базовой аутентификации или JSON Web Token (JWT) для авторизации.
Заголовок авторизации будет автоматически сгенерирован при отправке запроса.
- POST
- PUT
- DELETE
User:password
Bearer <token>
<token> - токен
Набор заголовков отправляемого запроса и их значений.
Каждый ключ – отдельный заголовок.
- POST
- Content-Type ="application/json" - если RequestBody != null
- Accept-Encoding = "gzip, deflate, br"- для отправки файла
Тело отправляемого запроса для метода POST
Позволяет отправить запрос в виде JSON строки.
- POST
Пример:
{
"name": "sergei",
"email": "sergei@email.com",
"gender": "Male",
"status": "Active"
}
В этом случае обязательно надо задать заголовок:
- Content-Type ="application/json"
Параметры HTML формы для метода POST.
- POST
- PUT
"name": "sergei",
"email": "sergei@email.com",
"gender": "Male",
"status": "Active"
- POST
- PUT
"K:\\bookModel.txt"
В этом случае обязательно надо задать заголовок:
- Accept-Encoding = "gzip, deflate, br"- для отправки файла
Набор заголовков получаемых от сервера и их значения.
- POST
- POST
1001
Путь к файлу, который получен от сервера.
Особые условия использования для url = https://gorest.co.in/public-api/users
Сервис позволяет создавать/менять/удалять объекты со следующими свойствами:
...
URL REST-сервиса | URL REST-сервиса | Robin.String | https://authenticationtest.com/ | Да |
Метод | Тип запроса. Значение по умолчанию - 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 | Нет |
Заголовки запроса | Набор заголовков запроса и их значений. Каждый ключ в словаре – это отдельный заголовок | Robin.Dictionary | Нет | |
Выбор прокси-сервера | Определяет настройки используемого прокси-сервера. Можно использовать системные настройки прокси, заданные на уровне ОС, либо настроить параметры пользовательского прокси-сервера, либо подключаться без прокси-сервера. По умолчанию используются системные настройки | Robin.String | Нет | |
Протокол прокси- сервера | Протокол прокси-сервера. Например: http, https | Robin.String | Нет | |
Адрес прокси-сервера | Имя хоста или IP-адрес прокси-сервера | Robin.String | Нет | |
Порт прокси-сервера | Порт прокси-сервера | Robin.String | Нет | |
Логин прокси-сервера | Логин пользователя для подключения к прокси-серверу | Robin.String | user | Нет |
Пароль прокси-сервера | Пароль пользователя для подключения к прокси-серверу | Robin.Object | password | Нет |
Получить файл | Возможность получить файлы из запроса. Если выбрано значение «true», обязательно должны быть заполнены поля «Путь к папке» и «Имя файла» | Robin.Boolean | true | Нет |
Путь к папке | Путь к папке, в которой нужно сохранить файл, полученный при выполнении запроса | Robin.FolderPath | C:\doc\img | Нет |
Имя файла | Имя, которым будет назван файл, полученный при выполнении запроса. Имя нужно указывать вместе с расширением, которое должно быть у файла | Robin.String | true | Нет |
Перезаписать | Если значение "true", и в указанной папке существует файл с таким же именем и расширением, то новый файл его перезапишет. Если "false", файл перезаписан не будет и действие вернет ошибку | Robin.Boolean | true | Нет |
Отключить SSL | Если значение "true", то функция проверки SSL-сертификата будет отключена | Robin.Boolean | true | |
Результаты | ||||
Статус ответа | Код статуса ответа, полученного от веб-сервиса. Возвращается при использовании любого метода | Robin.String | 200 | |
Заголовки ответа | Набор заголовков и их значений, получаемых от веб-сервиса. Возвращается при использовании любого метода. Если в ответе есть повторяющиеся заголовки, будет только один ключ с этим заголовком; значением ключа будет коллекция, содержащая все значения этих заголовков | Robin.Dictionary | ||
Тело ответа | Тело ответа, полученное от веб-сервиса, в raw формате. Возвращается при использовании любого метода | Robin.String | ||
Идентификатор | Значение идентификатора из заголовка "Id", полученного от веб-сервиса. Возвращается только при использовании метода "POST" | Robin.String | ||
Указатель ресурса | Значение из заголовка "Location", полученное от веб-сервиса. Имеет смысл для статусов 201, 3хх и только для метода POST | Robin.String |
Особые условия использования
Подробнее о REST: https://ru.wikipedia.org/wiki/REST.
Пример использования 1
Задача
Пройти NTLM-аутентификацию на сайте https://authenticationtest.com/HTTPAuth/ и получить результаты в виде json-файла.
Решение
Воспользоваться действием "Отправить запрос".
Реализация
- Перенести действие "Отправить запрос" на рабочую область и настроить его параметры.
Поле "URL REST-сервиса" - это адрес, к которому необходимо подключиться. Более подробная информация о методе находится по ссылке: https://authenticationtest.com/HTTPAuth/.
Поле "Метод" - в нашем случае необходимо указать значение 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"- необходимо указать путь до файла с запросом, если он требуется.
- Все остальные поля не имеют отношения к смыслу запроса и его формату. Поля начиная с "Выбор прокси-сервера" и заканчивая полем "Пароль пользователя для подключения к прокси-серверу" - это все поля, которые относятся к настройке прокси-сервера, если он необходим.
- В поле "Выбор прокси-сервера" необходимо выбрать какой вариант использовать.
- Если системный прокси-сервер, то будут использоваться настройки сервера, которые установлены в самой вашей системе под которой работает робот.
- Если выбрано значение "Без прокси-сервера" , то в этом случае не используются ни системные настройки , ни какие-либо другие.
- При выборе значений "Системный прокси-сервер" или "Без прокси-сервера", поля ниже можно не заполнять.
- Только если выбрано значение "Пользовательский прокси-сервер" необходимо заполнить поля ниже (выделены на скрине).
- Остальные поля связаны с получением файла от сервиса.
- Поле "Получить файл" - необходимо проставить чекбокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
- Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чекбокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
- Поле "Перезаписать" необходимо на тот случай, если в данной папке уже содержится файл с таким же названием и расширением.
- При запуске робота необходимо нажать на кнопку "Старт" в верхней панели.
Результат
Робот отработал успешно. Ответ от сервиса разобран роботом.
...