Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Парсер с авторизацией.

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [В Сети] >> Парсер с авторизацией.
Имя
Сообщение << Старые топики   Новые топики >>
Парсер с авторизацией. - 2010-09-28 20:17:28.066666   
noopik2010

Сообщений: 4
Оценки: 0
Присоединился: 2010-09-28 19:56:10.326666
Не давно научился писать парсеры…не давно возникла такая задача, парсить страницу, которая доступна только авторизованным пользователям…материала по этому поводу нигде не могу найти. Кто нибудь простенький код такого парсера киньте, Самый простой я дальше сам распишу. Еще интересно какими методами можно достать ПхП скрипт с чужого сайта.&nbsp;
Post #: 1
RE: Парсер с авторизацией. - 2010-09-28 21:29:03.390000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
php скрипт с чужого сайта не достать, если нет подходящей уязвимости.
А разбор страницы, доступной только авторизованным, ничем не отличается от разбора обычной страницы. Может быть проблема в том, как получить такую страницу?
Post #: 2
RE: Парсер с авторизацией. - 2010-09-28 22:30:56.610000   
noopik2010

Сообщений: 4
Оценки: 0
Присоединился: 2010-09-28 19:56:10.326666
quote:

Может быть проблема в том, как получить такую страницу?
В точку. Подскажите если не трудно
Post #: 3
RE: Парсер с авторизацией. - 2010-09-29 21:33:54.953333   
задолбался регаться

Сообщений: 92
Оценки: 0
Присоединился: 2010-08-10 22:40:22.650000
$url='наш сайт';
$ua='наш браузер';
$cookie='наши куки';
$ch=curl_init(); //начинаем сеанс CURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //ответ сервера возвращается, а не выводится
$answer=curl_exec($ch); //выполняем запрос, ответ сохраняем в $answer.
curl_close($ch);//завершаем сеанс
Post #: 4
RE: Парсер с авторизацией. - 2010-09-30 03:38:58.876666   
noopik2010

Сообщений: 4
Оценки: 0
Присоединился: 2010-09-28 19:56:10.326666

    /* Тут код авторизации*/
    $login = 'Логин';
    $pass = 'пароль';
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_URL,'http://www.heroeswm.ru/');
    curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE);
    curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
    curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30);
    curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
    curl_setopt($curl,CURLOPT_URL,'http://www.heroeswm.ru/login.php');
    curl_setopt($curl,CURLOPT_POSTFIELDS,"LOGIN_redirect=1&login=$login&lreseted=1&pass=$pass&preseted=1&lbut.x=0&lbut.y=0");
      /* Тут должен получать страницу и вводить ее в переменную */
    $content = curl_exec($curl);
    curl_close($curl);
    
    /* Дальше код не трогать!!! */
    // Начало парсинга
    $pos = strpos($content, '<HTML>');

    /* Вырезаем от начала до $pos */
    $content = substr($content, $pos);

    // Начало парсинга второй части
    $pos = strpos($content, '</HTML>');

    // Отрезаем символы после второй части
    $content = substr($content, 0, $pos);

    /* Теперь у меня есть вырезанный контент в переменной $content делаю что угодно дальше */

    /* Вот например вывожу содержимое */

    echo $content;


Но, выводит ту страницу куда редиректит пользователя после входа, пытаюсь вставить гдето нужную страницу http://www.heroeswm.ru/bselect.php
    
С тем кодом вообще ничего не вышло(
Post #: 5
RE: Парсер с авторизацией. - 2010-09-30 17:33:32.646666   
задолбался регаться

Сообщений: 92
Оценки: 0
Присоединился: 2010-08-10 22:40:22.650000
quote:

curl_setopt($curl,CURLOPT_URL,'http://www.heroeswm.ru/');

quote:

curl_setopt($curl,CURLOPT_URL,'http://www.heroeswm.ru/login.php');
зачем?

quote:

Но, выводит ту страницу куда редиректит пользователя после входа

quote:

curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
значит редиректит ява скриптом

quote:

curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");

quote:

curl_setopt($curl,CURLOPT_POSTFIELDS,"LOGIN_redirect=1&amp;login=$login&amp;lreseted=1&amp;pass=$pass&amp;preseted=1&amp;lbut.x=0&amp;lbut.y=0");
зачем?

quote:

пытаюсь вставить гдето нужную страницу http://www.heroeswm.ru/bselect.php
где-то это где?

quote:

С тем кодом вообще ничего не вышло(

он рабочий
Post #: 6
RE: Парсер с авторизацией. - 2010-10-01 06:35:37.920000   
noopik2010

Сообщений: 4
Оценки: 0
Присоединился: 2010-09-28 19:56:10.326666
Все написал то что нужно)

 $curl = curl_init();
    curl_setopt($curl,CURLOPT_URL,'http://www.heroeswm.ru/');
    curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE);
    curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
    curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30);
    curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
    curl_setopt($curl,CURLOPT_URL,'http://www.heroeswm.ru/login.php');
   curl_setopt($curl,CURLOPT_POSTFIELDS,"LOGIN_redirect=1&login=$login&lreseted=1&pass=$pass&preseted=1&lbut.x=0&lbut.y=0");
     $html = curl_exec($curl);
    curl_setopt($curl, CURLOPT_URL,"http://www.heroeswm.ru/bselect.php?all=1");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
    $html = curl_exec($curl);
$content = $html;
Post #: 7
RE: Парсер с авторизацией. - 2010-10-01 16:17:41.460000   
задолбался регаться

Сообщений: 92
Оценки: 0
Присоединился: 2010-08-10 22:40:22.650000
А так слабо?
<?
$url='http://www.heroeswm.ru/bselect.php?all=1';
$ua='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 GTB7.1';
$cookie='PHPSESSID=346ffe321819116864b6d63a6598a7af; pl_id=2314762';
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$answer=curl_exec($ch);
curl_close($ch);
echo $answer;
?>
ps моего сверх прокаченного перса не тырить)
Post #: 8
Страниц:  [1]
Все форумы >> [В Сети] >> Парсер с авторизацией.







Связаться:
Вопросы по сайту / xakep@glc.ru

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