История страницы
Отправить запрос
...
Версия 17 (Java)
Группа действий: Интеграции
...
Описание
Отправляет Действие отправляет HTTP-запрос для обращения к RESTful веб-сервису.
Иконка действия
Параметры и их настройки
...
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
URL REST-сервиса | URL REST-сервиса | Robin.String | https://authenticationtest.com/ | Да |
Метод |
Тип запроса. |
Значение по умолчанию - GET | Robin.String | GET | Нет |
Тело запроса | Тело |
запроса, которое указывается в виде JSON строки |
Robin.String | Нет | |||
Параметры запроса | Параметры строки запроса, которые указываются в URL | Robin.Dictionary | Нет | |
Параметры формы | Параметры HTML формы для метода POST |
Robin.Dictionary | Нет |
Авторизация
Словарь с параметрами авторизации - Basic или Bearer Token. В случае Basic авторизации словарь должен иметь ключи «user» и «pass», а значения элементов словаря должны содержать логин и пароль пользователя. В случае Bearer Token авторизации словарь должен иметь ключ «token», а значение элемента должно содержать Bearer Token.
Тип аутентификации | Тип аутентификации, которая будет использоваться в отправляемом запросе. Если не заполнить поле "Параметры аутентификации", то выбранный "Тип аутентификации" будет проигнорирован. Значение по умолчанию - Нет | Robin.String | NTLM | Нет |
Параметры аутентификации | Параметры аутентификации для запроса. Если выбран тип аутентификации "Basic" или "NTLM", словарь должен иметь ключи "user" и "pass", содержащие значение логина и пароля соответственно. Если выбран тип "Bearer Token", словарь должен иметь ключ «token» со значением токена аутентификации | Robin.Dictionary | key - user, value - user key - pass. value - password |
Нет | |
Заголовки запроса | Набор заголовков |
запроса и их значений. Каждый ключ в словаре – это отдельный заголовок |
Robin.Dictionary |
Нет
Путь к файлу для отправки методом POST
Путь к файлу, который нужно прикрепить к запросу.
Нет | ||
Выбор прокси-сервера |
Определяет настройки используемого прокси-сервера. Можно использовать системные настройки прокси, заданные на уровне ОС, либо настроить параметры пользовательского прокси-сервера, либо подключаться без прокси-сервера. |
По умолчанию используются системные настройки | 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
Указатель ресурса | Значение из заголовка "Location", полученное от веб-сервиса |
. Имеет смысл для статусов 201, 3хх и только для метода POST | Robin.String |
Особые условия использования
...
Действие вернет ошибку, если:
- "Путь до папки" заполнен некорректно.
- "Получить файл" - true, но на сервере нет данных о файле.
- "Перезаписать" - false, но файл с таким именем уже есть в папке.
Если в поле "Выбор прокси-сервера" выбран системный или без прокси, то поля (см. скрин), связанные с настройкой прокси-сервера игнорируются, даже если они чем-то заполнены.
Если отмечено Получить файл:
Необязательно, чтобы в ответе были какие-то определенные заголовки. Без заголовков сохранится просто файл без расширения. В ответе от сервера мы получаем просто набор байт, в нем могут присутствовать заголовки с именем и расширением файла, но они могут и отсутствовать. Если не будет указано иной информации, этот набор байт можно преобразовать в какой-нибудь файл с рандомным именем без расширения. Это и сохранится в результате.
Если пользователь пользователь указал в поле "Имя файла" неверное расширение, то скачанный файл не откроется. Изменить название и поставить правильное расширение уже можно будет после скачивания вручную.
Логика "Выбор прокси-сервера":
1. Системный прокси-сервер = что бы ни было заполнено в остальных полях, всегда используются системные настройки ОС.
2. Пользовательский прокси-сервер = поля настроек прокси заполнены - используем эти настройки для подключения к прокси.
Подробнее о 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"- необходимо указать путь до файла с запросом, если он требуется.
- Все остальные поля не имеют отношения к смыслу запроса и его формату. Поля начиная с "Выбор прокси-сервера" и заканчивая полем "Пароль пользователя для подключения к прокси-серверу" - это все поля, которые относятся к настройке прокси-сервера, если он необходим.
- В поле "Выбор прокси-сервера" необходимо выбрать какой вариант использовать.
- Если системный прокси-сервер, то будут использоваться настройки сервера, которые установлены в самой вашей системе под которой работает робот.
- Если выбрано значение "Без прокси-сервера" , то в этом случае не используются ни системные настройки , ни какие-либо другие.
- При выборе значений "Системный прокси-сервер" или "Без прокси-сервера", поля ниже можно не заполнять.
- Только если выбрано значение "Пользовательский прокси-сервер" необходимо заполнить поля ниже (выделены на скрине).
- Остальные поля связаны с получением файла от сервиса.
- Поле "Получить файл" - необходимо проставить чекбокс при необходимости. Используется, когда необходимо получить файл от сервиса. Весь ответ от сервиса будет записан в отдельный файл.
- Поле "Путь до папки" и "Имя файла" - необходимо заполнить, если проставлен чекбокс в поле "Получить файл". В поле "Имя файла" необходимо указать расширение.
- Поле "Перезаписать" необходимо на тот случай, если в данной папке уже содержится файл с таким же названием и расширением.
- При запуске робота необходимо нажать на кнопку "Старт" в верхней панели.
Результат
Робот отработал успешно. Ответ от сервиса разобран роботом.
3. Без прокси-сервера = ничего не заполнено - подключение без прокси, игнорируются данные параметров прокси, если даже заполнены.