Авторизация на сайтах

Авторизация на сайтах требуется для отображения данных, которые доступны только для авторизованных пользователей (например, цены товаров).

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

В Content Downloader можно использовать четыре библиотеки для отправки запросов (выбор библиотеки осуществляется в настройке HTTP-запросов программы (ctrl+h)):
— Indy (обычный GET-запрос) (можно авторизоваться передачей cookies или POST-методом)
— Clever Internet Suite (обычный GET-запрос) (можно авторизоваться передачей cookies или POST-методом)
— WIN (обычный GET-запрос) (можно авторизоваться передачей cookies)
— Internet Explorer (DOM) (Парсинг через Internet Explorer системы с выполнением скриптов + распознавание капчи, автоматическая имитация кликов и прочих действий в браузере) (можно авторизоваться во встроенном браузере обычным вводом логина и пароля (вкладка «контент» — группа «загрузка WEB-документа» — кнопка «авторизация с помощью cookies или с помощью выполнения POST-Запроса») либо автоматически с помощью проекта WBApp с авто-вставкой логина и пароля).

ВАЖНО!: В некоторые модули программы встроен браузер Internet Explorer (для отображения веб-контента). Этот браузер работает независимо от GET-запросв Content Downloader. Поэтому, даже если вы залогинились в программе передачей cookies, браузер IE (в окне задания границ парсинга) может отображать сайты так, как будто вы и не авторизрваны. Для того, чтобы залогиниться во встроенном IE, вам необходимо перейти во вкладку «контент», нажать кнопку «авторизация…» (с ключиком, смотрите скриншот ниже), в появившемся окне ввести адрес сайта и пройти процедуру авторизации в браузере.

Content Downloader


Авторизация методом передачи cookie из модуля Chromium (самый простой способ)
Content Downloader (авторизация на сайтах)

После передачи cookie рекомендуется сбросить кеш WEB-документов (созданный ранее при выполнении процедур предпросмотра). Для этого сделайте правый клик по списку ссылок главного окна программы и нажмите пункт меню «очистить кеш всех».

Авторизация методом передачи Cookies из монитора сети Firefox (shift+ctrl+e) в окно настройки HTTP-запросов программы (ctrl+h) (самый верный способ)
1) Открываем браузер Mozilla Firefox
2) Проходим авторизацию на сайте в браузере Firefox (методом обычного ручного ввода логина и пароля)
3) Запускаем плагин монитор сети (shift+ctrl+e)
4) Переходим в браузере, например, на любую страницу товара (чтобы запрос выполнился с авторизованными Cookie и отобразился в мониторе сети)
5) Находим в мониторе сети нужный запрос (запрос к странице товара) и из его контекстного меню копируем его заголовки (как показано на скриншоте ниже)

Монитор сети Firefox

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

6) Возвращаемся в Content Downloader, нажимаем ctrl+h и вставляем скопированные cookies в соответствующее поле (также убеждаемся, что библиотека «Internet Explorer (DOM)» отключена)

Окно настроек HTTP-запросов Content Downloader

7) Для проверки авторизации откройте инструмент задания границ парсинга, перезагрузите WEB-документ (двойной клик по ссылке в списке справа) и проанализируйте код WEB-документа (есть ли там признаки авторизации, например, имя вашего логина или кнопка типа «выход»)

Примечание: Данный метод авторизации устанавливает Cookie для обычных запросов программы (библиотеки INDY, CIS, WIN). Если требуется авторизоваться во встроенном браузере (который расположен в нижней части инструмента задания границ парсинга), вернитесь в главное окно программы (во вкладку «Контент»), нажмите ctrl+k, пройдите авторизацию в открывшемся браузере и закройте окно с браузером без передачи Cookie (esc).

Авторизация методом POST (с возможностью выполнения автоматической авторизации при каждом запуске программы)

Настройка авторизации методом POST производится во вкладке «контент» — группа «загрузка WEB-документа» — кнопка «авторизация с помощью cookies или с помощью выполнения POST-Запроса» -> вкладка «Авторизация методом POST»

При выполнении авторизации на сайте не забывайте включать галочку типа «Оставаться в сети», чтобы полученные Cookie работали как можно дольше

Монитор сети Firefox

Далее вставляете адрес страницы авторизации и POST-параметры (которые вы скопировали из контекстного меню, смотрите скриншот выше) в соответствующие поля в Content Downloader

Content Downloader

Далее проверяете, прошла сработала ли авторизация

Content Downloader

Также обратите внимание на опции автоматической авторизации методом POST

Content Downloader (опции авторизации методом POST)


Примечание 1: Если вы получаете из монитора сети Firefox POST данные в таком виде

То преобразуйте их в такой вид (имя=значение)




Примечание 2: JSON POST данные (представляются в фигурных скобках), например

1
{"Login":"Login_Name","Password":"Password_Value"}

должны вставляться в программу в операторе [JSONREQUEST]…[JSONREQUEST]

1
[JSONREQUEST]{"Login":"Login_Name","Password":"Password_Value"}[/JSONREQUEST]
Авторизация методом передачи cookies из WBApp для библиотек Indy и Clever Internet Suite (когда нужна автоматическая авторизация и метод POST не подходит, самый сложный способ)


Если авторизация на сайте постоянно сбрасывается
Здравствуйте.

Есть сайты, которые сбрасывают авторизацию при каждом закрытии/открытии браузера.

Судя по описанию вопроса, это и есть тот случай.

Нужно понимать, что при передаче cookie в окно ctrl+h и при использовании библиотек INDY, CIS, или WIN (не Internet Explorer (DOM)) код от сайта программа может получать, как для авторизованного пользователя (верхнее окно с кодом в инструменте задания границ парсинга), а WEB-страница отображаться в браузере (в нижней части) может, как для неавторизованного пользователя. Если код получается, как для авторизованного пользователя, то нужно пренебречь отображением сайта в браузере (в нижней части) и парсить.

Если и код получается, как для неавторизованного пользователя, то нужно парсить этот сайт с использованием WBApp, где при парсинге каждого WEB-документа предварительно будет производиться имитация действий авторизации в WBApp (ввод логина с паролем и прочее).

WBApp (имитация кликов по элементам веб-страниц, прокрутка веб-страниц, заполнение форм и многое другое)(только для ULTIMATE версий)Root

Устаревшее видео
1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 6, средний балл: 5,00)
Загрузка...
Автор: admin, 1 ноября 2010
Рубрики: Парсинг
Метки: , ,
9 комментариев к сообщению: “Авторизация на сайтах”
  1. iwbh:

    LiveHTTPHeaders 0.16 отказывается устанавливаться в Firefox4.
    отучить можно следующим образом:
    livehttpheaders-0.16.xpi переименовываем в livehttpheaders-0.16.zip
    в архиве лежит файл install.rdf
    находим в нем 3.б.*
    меняем на 4.*
    Сохраняем изменения
    Возвращаем файлу расширение .xpi и устанавливаем плагин

  2. Авторизовался через куки (кнопка «дополнительно»)

    Начинаю выбирать нужные границы парсинга, жму показать/скрыть браузер и вижу что я не авторизован, что делать?

  3. Макс:

    Способ 2 — Установил плагин, но через Shift+f2 выводиться «Панель разработки»
    У меня никаким способом не получается авторизоваться в Яндекс Вебмастере, кто подскажет?

  4. Света:

    Загрузила FireFox… где взять LiveHTTPHeaders и как его поставить в программу….

    Помогите!…

    • admin:

      Здравствуйте.

      Нажмите в браузере ctrl+shift+a и установите это дополнение.

      После установки, для вызова дополнения: alt -> меню -> инструменты -> просмотр HTTP заголовков.

      С уважением к вам, Сергей.

Написать комментарий

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

Последние статьи

css.php