ФорумПрограммированиеPHP для идиотов → Авторизация на сайте seopult.ru

Авторизация на сайте seopult.ru

  • Николай_П

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2010 г. 4:07

    Добрый день!
    Мне необходимо авторизоваться на сайте seopult.ru и извлечь некоторые данные о туда.
    Вот написал код
    	$url = "http://seopult.ru/user.html?itp_redirect=%2Fguest.html"; 
    $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.8';
    $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/amicus/cookies.txt';
    $headers = array
    (
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
    'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
    'Accept-Encoding: gzip,deflate',
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
    );

    $ch = curl_init($url);
    # /forum/loginout.php HTTP/1.1
    curl_setopt($ch, CURLOPT_POST, 1);
    # POST /forum/..
    curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
    # User-Agent
    curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
    # добавляем заголовков к нашему запросу. Чтоб смахивало на настоящих
    curl_setopt($ch, CURLOPT_REFERER, "http://seopult.ru/");
    # Подделываем значение - откуда пришли данные.
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'uname=23758password=qw');
    # post данные.
    # умная libcurl сама добавит заголовки
    # Content-Type: application/x-www-form-urlencoded и Content-Length: 71
    curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
    # Функции для обработки установливаемых форумом кук.
    # подробнее рассмотрим далее.
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    # Убираем вывод данных в браузер. Пусть функция их возвращает а не выводит
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    $result = curl_exec($ch); // выполняем запрос curl
    curl_close($ch);
    echo $result;


    В результате вне выдаются абра-кадабры которые у меня никак не получается конвертировать в нормальный текст.
    вот здесь результат http://prokopov-nikolai.ru/amicus/
  • Николай_П

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2010 г. 4:24, спустя 16 минут 43 секунды

    когда я прохожу авторизацию на сайте то выдаются вот такие заголовки
    http://prokopov-nikolai.ru/amicus/headers.txt
  • Николай_П

    Сообщения: 74 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2010 г. 4:43, спустя 18 минут 59 секунд

    Ура!!! получилось!
    нужно было убрать curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
    и добавить параметр скрытого инпута!
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 13 апреля 2010 г. 5:47, спустя 1 час 4 минуты 10 секунд

    ура!
    все умрут, а я изумруд
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz 13 апреля 2010 г. 8:10, спустя 2 часа 22 минуты 54 секунды

    Accept-Encoding: gzip,deflate
    а где анзип? не нужно было блокировать все хедеры, только этот
    без эмуляции браузера словите бан на раз два
    Work, buy, consume, die
  • j1gs5w77

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 10 ноября 2010 г. 14:23, спустя 211 дней 7 часов 13 минут

    Приветствую всех! Также понадобился скрипт для авторизации в сеопульте. Поправил выше описанный скрипт, авторизация идет, но затем прерывается и выдает сообщение типа вам запрещен доступ в эту зону, что в скрипте сделано не так?
    <?
    set_time_limit('0');


    $referer = "http://www.seopult.ru";

    $url = "http://seopult.ru/user.html?itp_redirect=%2Fguest.html";
    $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.8';
    $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/amicus/cookies.txt';
    $headers = array
    (
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
    'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
    'Accept-Encoding: gzip,deflate',
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_REFERER, "http://seopult.ru/");
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'uname=tester8&pass=tester9&op=login');
    curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;

    ?>

    вот тестовый аккаунт:
    логин tester8
    пасс tester9
    Спасибо.
  • Mars

    Сообщения: 304 Репутация: N Группа: Кто попало

    Spritz 10 ноября 2010 г. 14:26, спустя 2 минуты 52 секунды

    curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);

    а нахуя простите?

    з.ы: могу дать свой недокласс, который я писал пару лет назад
  • j1gs5w77

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 11 ноября 2010 г. 3:18, спустя 12 часов 52 минуты 10 секунд

    А как нужно? Буду рад вашему недоклассу)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!