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

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


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