Перейти к основному содержимому

POST-запрос

ZennoDroid позволяет отправлять данные в POST-запросах. С этим экшеном вы можете:

  • отсылать информацию для регистрации на сайте,
  • загружать файлы на сервер,
  • быстро отправлять данные,
  • запускать шаблоны без браузера,
  • работать с API веб-сервисов и приложений.

Как добавить в проект?​

Через контекстное меню: Добавить действие → HTTP → POST-запрос.

Как добавить в проект?


Вкладка «Основные»​

Вкладка «Основные»


URL.​

Целевой адрес сайта (ссылка), по которому будет отправлен запрос. Можно использовать переменную.


Referer.​

Заголовок Referer используется для указания URL-адрес, с которого пользователь пришел на текущую страницу. Он помогает анализировать трафик и узнавать, с какого ресурса переходят чаще всего.

Заголовок Referer может раскрыть информацию об истории посещённых страниц, что может привести к нарушению приватности.

Кодировка.​

Выбираем кодировку для запроса.


Таймаут.​

Максимальное время ожидания ответа от сайта в секундах.
При достижении установленного времени, действие будет завершено ошибкой и выйдет по красной ветке.
Можно использовать макросы переменных.


Данные.​

Тут пишем сам текст запроса.


Тип данных.​

Здесь мы выбираем, какие данные будут отправлены в запросе. Указанный тип будет передан в заголовке как 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.​

Данное поле ввода отображается только при отключении прошлой опции.

С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

Другой.​

Другой

Выбираем в том случае, если нужно указать детальные настройки прокси.
Тип прокси, данные авторизации, адрес и порт уточняйте у поставщика услуг.
Во всех полях можно использовать переменные.

Если не указан протокол, то по умолчанию используется http://

Способ передачи запроса.​

В ZennoDroid есть два метода работы с запросами:

  • Стандартный. Стоит по умолчанию (библиотека Chilkat).
  • Альтернативный. Наша собственная разработка.

Если при работе с HTTP-запросами что-то работает неправильно, то попробуйте переключиться на альтернативный метод.
Сделать это можно через Настройки → Выполнение → Использовать альтернативный способ передачи HTTP-запросов.

Использовать альтернативный способ


Пример использования.​

Нужно отправить ответ ReCaptchaV2 на сайт для прохождения капчи.

Пример использования

  1. CM Cloud разгадывает капчу и выдает нам ответ.
  2. Добавляем к нему экшен POST.
  3. Заполняем все поля. В поле Данные вводим ответ на капчу в нужном формате.
  4. Отправляем запрос на целевой сайт.
  5. Капча разгадана.

При работе без браузера мы экономим время и ресурсы, затрачиваемые при разгадывании капчи в окне таба.


Полезные ссылки.​