POST-запрос
ZennoDroid позволяет отправлять данные в POST-запросах. С этим экшеном вы можете:
- отсылать информацию для регистрации на сайте,
- загружать файлы на сервер,
- быстро отправлять данные,
- запускать шаблоны без браузера,
- работать с API веб-сервисов и приложений.
Как добавить в проект?
Через контекстное меню: Добавить действие → HTTP → POST-запрос.
Вкладка «Основные»
URL.
Целевой адрес сайта (ссылка), по которому будет отправлен запрос. Можно использовать переменную.
Referer.
Заголовок Referer используется для указания URL-адрес, с которого пользователь пришел на текущую страницу. Он помогает анализировать трафик и узнавать, с какого ресурса переходят чаще всего.
Кодировка.
Выбираем кодировку для запроса.
Таймаут.
Максимальное время ожидания ответа от сайта в секундах.
При достижении установленного времени, действие будет завершено ошибкой и выйдет по красной ветке.
Можно использовать макросы переменных.
Данные.
Тут пишем сам текст запроса.
Тип данных.
Здесь мы выбираем, какие данные будут отправлены в запросе. Указанный тип будет передан в заголовке как Content-Type.
Доступные варианты:
urlencoded.
Content-Type: application/x-www-form-urlencoded
Стоит использовать, когда на сервер отсылается текстовая информация. В поле Данные она указывается в формате:
имяпараметра1=значение1&имяпараметра2=значение2
multipart.
Content-Type: multipart/form-data
Этот тип используется, когда в запросе отправляются двоичные данные (файлы) на сервер.
Другой.
Вы можете задать любой другой тип данных, если два заготовленных не подходят.
Например, для взаимодействия с API CapMonster Cloud нужно отправлять POST-запрос в формате JSON. Для этого указываем в Типе данных application/json
Загружать.
Только содержимое.
В переменную будет сохранено только тело ответа.
Только заголовки.
Сохранятся только заголовки.
Заголовки и содержимое.
В переменную сохранятся и заголовок ответа, и его тело, разделенные двумя пустыми строками.
Как файл.
Выбирайте этот режим, если нужно скачать файл с помощью запроса.
В переменную сохранится путь к скачанному файлу.
Trash
в директории с программой.Путь может выглядеть так:
C:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.4.0.0\Progs\Trash\googlelogo_color_92x30dp.png
Изменить его можно в настройках, но только глобально для всех проектов.
Как файл + заголовки.
В переменную сохранятся заголовки ответа и путь к скачанному файлу.
Положить в переменную.
Здесь надо выбрать (или создать новую) переменную, в которую будет сохранён результат запроса.
Вкладка «Дополнительно».
Редирект.
Используется для установки перенаправления. Если ответ на запрос будет содержать код редиректа, то ZennoDroid перейдет к следующей странице, используя заголовок Location.
Здесь мы цифрами указываем максимальное количество переходов. К примеру, 0
— остаться на исходной странице, 5
— количество переходов до конечного URL.
Использовать оригинальный URL.
Когда эта опция включена, кодирование URL из вкладки «Основные» будет отменено. Пример:
- URL по умолчанию (с кодированием):
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5
- Оригинальный URL:
https://ru.wikipedia.org/wiki/Приветствие
Заголовки.
Использовать по умолчанию.
В запрос будут подставлены заголовки по умолчанию. Заголовок Host
меняется в зависимости от адреса в запросе.
Пример ответа при запросе https://httpbin.org/get.
Host: httpbin.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Текущий профиль.
Будут подставлены заголовки из текущего профиля проекта.
Загрузит ь из профиля.
Необходимо выбрать файл или указать переменную, содержащую путь до профиля, из которого будут загружены заголовки для запроса.
Пользовательские настройки.
Позволяет самостоятельно указать каждый параметр заголовка, следуя правилам:
- ⚠️ Первой всегда указывается строка User-Agent! И только потом все остальные заголовки.
- Каждый заголовок начинается с новой строчки.
- Можно указать статичные значения, свои переменные или переменные профиля.
Использовать CookieContainer.
С помощью этой опции можно синхронизировать куки с целым браузером или между отдельными запросами. Вам не понадобится вручную их парсить и подставлять.
Пример использования.
Представим, что наш проект работает с сайтом, используя запросы. Для работы нужно быть авторизованным. При этом процесс авторизации крайне сложен для повторения его через запросы. Поэтому для входа на сайт используем браузерный режим.
После авторизации отключаем браузер и начинаем работать с запросами. С включенной опцией Использовать CookieContainer куки будут автоматически синхронизированы между браузером и запросами, их не придется подставлять вручную.
Если при одном из запросов сайт вернет новое значение кук, то оно автоматически синхронизируется с браузером и будет использовано в дальнейшем.
Сookie.
Можно указать готовые куки или взять из переменной.
Формат: имя=значение
, несколько значений разделяются через ;
Пример: user=1992103;session=f79fcadd847b80f9df78ba4fb276c867;id=889
Вкладка «Прокси».
Без прокси.
Экшен будет работать через реальный IP компьютера или сервера.
Строка формата.
Указываем прокси в формате (можно указать переменную):
- С авторизацией.
socks5://логин:пароль@ip:port
илиhttp://логин:пароль@ip:port
- Без авторизации.
socks5://ip:port
илиhttp://ip:port
- Без указания протокола (по умолчанию http://).
логин:пароль@ip:port
илиip:port
Другой.
Выбираем в том случае, если нужно указать детальные настройки прокси.
Тип прокси, данные авторизации, адрес и порт уточняйте у поставщика услуг.
Во всех полях можно использовать переменные.
Способ передачи запроса.
В ZennoDroid есть два метода работы с запросами:
- Стандартный. Стоит по умолчанию (библиотека Chilkat).
- Альтернативный. Наша собственная разработка.
Если при работе с HTTP-запросами что-то работает неправильно, то попробуйте переключиться на альтернативный метод.
Сделать это можно через Настройки → Выполнение → Исполь зовать альтернативный способ передачи HTTP-запросов.
Пример использования.
Нужно отправить ответ ReCaptchaV2 на сайт для прохождения капчи.
- CM Cloud разгадывает капчу и выдает нам ответ.
- Добавляем к нему экшен POST.
- Заполняем все поля. В поле Данные вводим ответ на капчу в нужном формате.
- Отправляем запрос на целевой сайт.
- Капча разгадана.
При работе без браузера мы экономим время и ресурсы, затрачиваемые при разгадывании капчи в окне таба.