Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

Данная статья скопирована из справки по ZennoPoster, т.к. эти действия идентичны в обеих программах. Оригинал - GET-запрос.

Внутри данной статьи могут встретиться скриншоты, внутренние ссылки на справку и другие вещи, которые относятся к ZennoPoster.

В ZennoDroid недоступна опция “Текущий прокси проекта”.

Оглавление

 Нажмите здесь, чтобы развернуть оглавление

Описание

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


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

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

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


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

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

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

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

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


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

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


{
  "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

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

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

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

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

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


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

Редирект

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

Использовать оригинальный URL

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

Заголовки

Использовать по умолчанию

В запрос будут подставлены заголовки по умолчанию. Вот как они выглядят (на примере запроса к https://httpbin.org/get, заголовок Host будет меняться в зависимости от URL адреса в запросе)

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


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

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

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

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

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

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

Заголовки запроса

Первой всегда ((warning)) указывается строка User-Agent! И только потом все остальные заголовки.

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

Формат: имя=значение , несколько разделяются с помощью ;(точка с запятой). Пример:

user=1992103;session=f79fcadd847b80f9df78ba4fb276c867;id=889

Начиная с версии 7.1.6.0 (5.45.0.0) данное поле ввода отображается только в том случае, если вЫключена настройка Использовать CookieContainer (описан далее).

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

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

 Пример

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

Затем отключаем браузер и начинаем работать с сайтом используя запросы. Включив настройку Использовать CookieContainer куки будут автоматически синхронизированы между браузером и запросами, Вам не надо ничего вручную делать - cookies будут подставлены автоматически.
И если при одном из запросов сайт вернёт новое значение для одной или нескольких кук, то эти новые значения будут автоматически синхронизированы. И при выполнении следующего запроса (или при открытии сайта через встроенный браузер) будет использовано обновлённое значение.

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

Используя переменные профиля для заголовков и ручную подстановку кук.


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

Без прокси

Работа экшена происходит используя реальный ip компьютера\сервера.

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

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

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

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

Другой

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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


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

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


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

  • No labels