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

GET-запрос

🔗 Оригинальная страница — Источник данного материала


Описание

В ZennoPoster вы можете использовать HTTP запросы при работе с различными сайтами.
Например, можно получать данные через GET-запросы:

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

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

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

image-20200808-204038


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

image-20210529-070440

URL

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

Referer

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

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

Это может привести к нарушению приватности.

Кодировка

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

Таймаут

Максимальное время ожидания ответа от сайта в секундах.

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

Можно использовать макросы переменных.

Загружать

Только содержимое

В переменную будет сохранено только тело ответа

Пример ответа при запросе https://httpbin.org/get
{
"args": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.8",
"Host": "httpbin.org",
"Referer": "https://google.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
"X-Amzn-Trace-Id": "Root=1-26erb44t-465basaw0z2qwbji492yh5t3"
},
"origin": "1.2.3.4",
"url": "https://httpbin.org/get"
}

Только заголовки

Будут сохранены только заголовки ответа

Пример ответа при запросе https://httpbin.org/get
HTTP/1.1 200 OK
Date: Sat, 23 May 2020 01:56:45 GMT
Content-Type: application/json
Content-Length: 613
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

Заголовки и содержимое

В переменную будут сохранены и заголовок ответа, и его тело. Разделены они будут двумя пустыми строками.

Пример ответа при запросе https://httpbin.org/get
HTTP/1.1 200 OK
Date: Sat, 23 May 2020 01:56:45 GMT
Content-Type: application/json
Content-Length: 613
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin:
Access-Control-Allow-Credentials: true

HTTP/1.1 200 OK
Date: Sat, 23 May 2020 01:56:45 GMT
Content-Type: application/json
Content-Length: 613
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true


{
"args": {},
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.8",
"Host": "httpbin.org",
"Referer": "https://google.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
"X-Amzn-Trace-Id": "Root=1-26erb44t-465basaw0z2qwbji492yh5t3"
},
"origin": "1.2.3.4",
"url": "https://httpbin.org/get"
}

Как файл

Выбирайте этот режим, если нужно скачать файл с помощью запроса.
В переменную сохранится путь к скачанному файлу.

По умолчанию файлы скачиваются в папку Trash в директории с программой.

Путь может выглядеть так:
C:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.4.0.0\Progs\Trash\googlelogo_color_92x30dp.png

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

Как файл + заголовки

В переменную сохранятся заголовки ответа и путь к скачанному файлу.

Положить в переменную

Здесь надо выбрать (или создать новую) переменную, в которую будет сохранён результат запроса.


Вкладка «Дополнительно»

image-20210525-142622

Редирект

Используется для установки перенаправления. Если ответ на запрос будет содержать код редиректа, то ZennoPoster перейдет к следующей странице, используя заголовок 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 меняется в зависимости от адреса в запросе.

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

Текущий профиль

Будут подставлены заголовки из текущего профиля проекта.

Загрузить из профиля

Необходимо выбрать файл или указать переменную, содержащую путь до профиля, из которого будут загружены заголовки для запроса.

Пользовательские настройки

image-20210529-091044

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

  • ⚠️ Первой всегда указывается строка User-Agent! И только потом все остальные заголовки.
  • Каждый заголовок начинается с новой строчки.
  • Можно указать статичные значения, свои переменные или переменные профиля.

Использовать CookieContainer

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

Пример

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

После авторизации отключаем браузер и начинаем работать с запросами. С включенной опцией Использовать CookieContainer куки будут автоматически синхронизированы между браузером и запросами, их не придется подставлять вручную.

Если при одном из запросов сайт вернет новое значение кук, то оно автоматически синхронизируется с браузером и будет использовано в дальнейшем.

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

image-20210525-151513

Можно указать готовые куки или взять из переменной.

Формат: имя=значение, несколько значений разделяются через ;
Пример: user=1992103;session=f79fcadd847b80f9df78ba4fb276c867;id=889


Вкладка «Прокси»

image-20210529-084701

Без прокси

Экшен будет работать через реальный IP компьютера или сервера.

Текущий прокси проекта

Используется установленный в проекте прокси.

Строка формата

image-20210529-084950

Указываем прокси в формате (можно указать переменную):

  • С авторизациейsocks5://логин:пароль@ip:port или http://логин:пароль@ip:port
  • Без авторизацииsocks5://ip:port или http://ip:port
  • Без указания протокола (по умолчанию http://)логин:пароль@ip:port или ip:port

Другой

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

image-20210529-085221

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

Во всех полях можно использовать переменные.

ПО УМОЛЧАНИЮ ИСПОЛЬЗУЕТСЯ HTTP://

Если не указывать протокол прокси.


Создание экшенов из монитора трафика

Добавлено в ZennoPoster 7.1.5.0 (5.44.0.0)

Готовый HTTP-запрос можно создать прямо из Окна Трафика.

image-20200810-163348

  1. Наводим курсор на нужный запрос и правой кнопкой мыши вызываем контекстное меню.
  2. Нажимаем Создать действие из запроса.

На холсте проекта появится полностью заполненный экшен HTTP-запроса:

image-20200810-163642image-20200810-163654

Измените статические значение или замените на перемененные — теперь экшен полностью готов к работе.


Вспомогательные настройки

Выключение браузера

Если вы работаете исключительно на запросах, то можно отключить браузер, тем самым сэкономив ресурсы компьютера. Сделать это можно через Настройки проекта или в экшене Настройки браузера.

image-20200810-112931

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

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

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

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

image-20200808-214404


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

Представим, что нам нужно узнать текущий IP-адреc проекта.

Для этого достаточно сделать GET-запрос по адресу https://api.ipify.org/, а во вкладке Прокси выбрать Текущий прокси проекта.

image-20210529-075118


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