Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties
hiddentrue
idhiddentext

Контент с данной страницы используется в https://zennolab.atlassian.net/wiki/pages/resumedraft.action?draftId=534315180 иHTTP-запрос (что именно используется описано ниже, после описания вкладок Дополнительно и прокси ).
Аккуратней, при редактировании данной страницы!

Panel
panelIconIdatlassian-info
panelIcon:info:
bgColor#E3FCEF

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

Оглавление

Expand
titleНажмите здесь, чтобы развернуть оглавление
Table of Contents
exclude^Оглавление$

...

ZennoPoster позволяет использовать HTTP запросы при работе с различными сайтами. Вы можете получать данные GET запросами, например, запрашивать результаты поиска по запросу в поисковой системе, скачивать файлы, парсить данные, работать с API веб-сервисов и приложений.
Если Вы работаете исключительно с помощью запросов, то можно отключить браузер, тем самым сэкономив ресурсы компьютера; сделать это можно либо в настройках проекта, либо используя экшен Настройки браузера.

...

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

...

Как работать с экшеном: Вкладка “Основные”

...

URL

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

Referer

Заголовок запроса Referer содержит URL исходной страницы, с которой был осуществлён переход на текущую страницу. Заголовок Referer позволяет серверу узнать откуда был осуществлён переход на запрашиваемую страницу.
Можно использовать макросы переменных.

Кодировка

Кодировка запроса., в которой будет отправлен запрос.

Таймаут

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

...

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

Загружать

...

Переменная, в которую необходимо поместить ответ запроса.

Info

Адреса сайтов можно указывать через переменные.

Как работать с экшеном: Вкладка “Дополнительно”

...

Установить перенаправление - если ответ на запрос будет содержать код редиректа (пример. ответа 301, 302), Zennoposter используя заголовок Location, перейдёт к следующей странице. Цифрами указываем максимальное количество переходов: 0 - остаться на исходной странице , 5 - количество переходов до конечного url.

...

Отмена кодирования URL из вкладки “Основное” в urlencode.
Пример:
a) Оригинальный url - https://ru.wikipedia.org/wiki/Приветствие
b) По умолчанию - 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

...

Заголовки :
a) Использовать по умолчанию.
b) Текущий профиль.
c) Загрузить из профиля - необходимо выбрать файл или переменную содержащую путь до профиля.
d) Пользовательские настройки - позволяет самостоятельно указать каждый параметр заголовка запроса.

...

Заголовки запроса :
a) Каждый заголовок начинается с новой строчки.
b) User Agent всегда указывается первым.
с) Можно указать статичные значения, свои переменные или переменные профиля.

...

Cookie - можно указать готовые или переменные.

CookieContainer - Начиная с версии 5.18.0.0 в дополнительных настройках в разделе “Заголовки: Пользовательские настройки“ появился параметр“Использовать CookieContainer”. CookieContainer позволяет GET/POST запросам использовать Cookie совместно с браузером, т.е. если в результате запроса они будут изменены, то и в браузере они также изменятся и наоборот. Это позволяет с легкостью перенести часть логики работы с сайтом на POST/GET запросы.

...

Info

В запросе можно указать Cookie или использовать CookieContainer.

Как работать с экшеном: Вкладка “Прокси”

...

  1. Без прокси - заходим в почту используя свой домашний ip.

  2. Текущий прокси проекта - если вы ранее установили прокси в проекте, то действие будет происходить именно с них.

  3. Строка формата - указываем наши прокси в формате(можно указать переменную):
    a) С авторизацией - socks5://логин:пароль@ip:port или http://логин:пароль@ip:port
    b) Без авторизации - socks5://ip:port или http://ip:port
    c) Без указания протокола (по умолчанию будет использован http://)- логин:пароль@ip:port или ip:port

  4. Другой - выбираем если необходимо указать детальные настройки прокси. Тип прокси, данные авторизации, адрес и порт. Информацию уточняйте у своего поставщика услуг.

...

Info

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

...

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

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

Expand
titleПример ответа при запросе https://httpbin.org/get
Code Block
languagejson
{
  "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"
}

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

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

Expand
titleПример ответа при запросе https://httpbin.org/get
Code Block
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

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

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

Expand
titleПример ответа при запросе https://httpbin.org/get
Code Block
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 в директории установленного ZennoPoster. Путь к ней может выглядеть так - C:\Program Files\ZennoLab\RU\ZennoPoster Pro V7\7.4.0.0\Progs\Trash\googlelogo_color_92x30dp.png

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

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

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

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

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

...

Как работать с экшеном: Вкладка “Дополнительно”

Include Page
Вкладка Дополнительно (запросы)
Вкладка Дополнительно (запросы)

...

Как работать с экшеном: Вкладка “Прокси”

Include Page
Вкладка Прокси
Вкладка Прокси

...

Page Properties
hiddentrue
idhiddentext

Элемент снизу (Выборка) будет встраиваться в страницы описывающие остальные HTTP запросы. Имейте это ввиду, при редактировании!

Excerpt

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

Info

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

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

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

  2. Нажимаем Создать действие из запроса.

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

Image ModifiedImage Modified

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

...

Info

Наличие функции начинается с версии 7.1.5.0 (5.44.0.0)


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

Если

...

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

Image Modified


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

...

В ZennoPoster есть два метода работы с запросами - сторонняя разработка (стандартный метод, библиотека Chilkat) и собственная (альтернативный метод). Если при работе с HTTP-запросами с использованием стандартного метода у Вас что-то работает не так, то попробуйте переключиться на альтернативный метод.

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

Image Modified

...

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

Необходимо перейти на страницу и собрать все значения по заданным условиям. Так как сайт отдаёт все значения без использования браузера - мы его выключаем.

...

  1. Выключаем браузер.

  2. Добавляем экшен GET-запроса.

  3. Настраиваем.

  4. Получаем ответ запроса в переменную.

  5. Ищем необходимые значения

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

...

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

...