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 веб-сервисов и приложений.

...

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

Через контекстное меню Добавить действиеHTTPGET-запрос

...

Либо воспользуйтесь умным поиском.

...

Для чего это используется?

  • Работа шаблонов без браузера

  • Быстрый способ получения данных с сайта

  • Скачивать файлы

  • Работа с API сервисов

...

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

...

URL

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

Referer

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

Кодировка

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

Таймаут

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

Загружать

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

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

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 Added
  1. Наводим курсор на нужный запрос и правой кнопкой мыши вызываем контекстное меню.

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

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

Image AddedImage Added

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


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

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

Image Added


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

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

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

Image Added

...

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

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

...

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