1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

написать бота для перехода по ссылке с подтверждением confirm - КАК!?

Тема в разделе "Web Coding", создана пользователем Denis_Pi, 28 мар 2013.

Модераторы: latteo
  1. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    Собственно вопрос в теме...
    Необходимо написать бота...
    От бота нужно - зайти на сайт, нажать на ссылку входа в лич каб...
    его пере направят на страницу авторизации если не залогинен и в личный кабинет если да -
    если не залогинен то залогинеться..
    Его перенаправят на страницу личного кабинета, где нужно нажать на ссылку и подтвердить confirm... - повторять манипуляцию каждые 5 минут
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.402
    Симпатии:
    1.183
    imacros и ему подобные плагины, в зависимости от браузера или Human Emulator, если надо что-то более сложное.
     
  3. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    Хочется что то на php сообразить в общем то задача тривиальная, но я с этим не сталкивался еще - пришло собственно время)

    Каким образом вообще возможно реализовать такое на php?
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.402
    Симпатии:
    1.183
    Fiddler или любой другой сниффер бери и смотря на то, что приходит и что уходит, подделываешь это на php вместе с курлом.
    Линки, почти по теме:
    https://nulled.cc/threads/234925/
    https://nulled.cc/threads/198999/
     
    voproskin и Denis_Pi нравится это.
  5. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    <?php
    if( $curl = curl_init() ) {
    $referer = 'http://www.sibdom.ru';
    $login_url = 'http://www.sibdom.ru/board/cabinet/auth/login/';
    $agent = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';

    $ch = curl_init(); //инициализация библиотеки
    //указываем адрес страницы
    curl_setopt($ch, CURLOPT_URL,$login_url);
    //указываем заголовок User-Agent
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    //указываем, что полученная страница должна быть сохранена в переменную
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //указываем, что cURL должен переходить по редиректам
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    //выполняем запрос
    $page = curl_exec($ch);
    $referer = 'http://www.sibdom.ru/board/cabinet/auth/login';
    $postLoginFields = array();
    $postLoginFields['cabAutchUsername'] = 'мой логин';
    $postLoginFields['cabAutchPassword'] = 'мой пароль';

    //referer - адрес страницы с которой вы пришли,
    //т.е. нужно указать адрес страницы на которой находится форма
    curl_setopt($ch, CURLOPT_REFERER, $reffer);
    //указываем, что мы отправляем данные методом post
    curl_setopt($ch, CURLOPT_POST, 1);
    //добавляем строку с post данными
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postLoginFields));
    //создаем файл для cookies
    $cookiefile = tempnam('./cookie','cookie.txt');
    curl_close($curl);
    }
    ?>

    Не логинется, и соответственно не пишет куки - подскажите - что не так плиз!
     
  6. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    Зачем усложнять жизнь, когда можно дописать
    print_r(curl_getinfo($ch));
    echo "\n\ncURL error number:" .curl_errno($ch);
    echo "\n\ncURL error:" . curl_error($ch);
    // ...close cURL handle ($ch) below

    И посмотреть...
    PHP:
    Array ( [url] => http://www.sibdom.ru/board/cabinet/auth/login/ [content_type] => text/html; charset=utf-8 [http_code] => 200 [header_size] => 274 [request_size] => 193 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.796 [namelookup_time] => 0.078 [connect_time] => 0.734 [pretransfer_time] => 0.734 [size_upload] => 0 [size_download] => 4101 [speed_download] => 5152 [speed_upload] => 0 [download_content_length] => 4101 [upload_content_length] => 0 [starttransfer_time] => 0.796 [redirect_time] => 0 [certinfo] => Array ( ) [redirect_url] => ) cURL error number:0 cURL error:


    Выше данные - которые получаю!
    Постом выше указал код, что б меня поправили!
    Снифаю в Fiddler2


    Прошу помощи!)
     
  7. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    Вот, изменил код, Почему то показывает не авторизованную страницу!(
    PHP:
    <?
    set_time_limit('0');
     
     
    $referer "http://www.sibdom.ru";
     
    $url "http://www.sibdom.ru/board/cabinet/auth/login/";
    $user_agent 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';
    $user_cookie_file $_SERVER['DOCUMENT_ROOT'].'./cookies.txt';
    $headers = array
          (
              
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
              
    'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
              
    'Accept-Encoding: gzip,deflate,sdch',
              
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3'
          
    );
    $ch curl_init();
    curl_setopt($chCURLOPT_URL,$url);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt ($chCURLOPT_USERAGENT$user_agent);
    curl_setopt($chCURLOPT_REFERER"http://www.sibdom.ru");
    curl_setopt($chCURLOPT_COOKIEJAR$user_cookie_file);
    curl_setopt($chCURLOPT_COOKIEFILE$user_cookie_file);
    curl_setopt($chCURLOPT_POSTFIELDS'cabAutchUsername=Мой логин&cabAutchPassword=мой пароль=cabAutchCheck');
    curl_setopt($chCURLOPT_COOKIEJAR$user_cookie_file);
    curl_setopt($chCURLOPT_COOKIEFILE$user_cookie_file);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_FOLLOWLOCATION,1);
    $result curl_exec($ch);
    curl_close($ch);
    echo 
    $result;
     
    ?>


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


    В Файле сессии пишет...
    Код:
    www.sibdom.ru    FALSE    /    FALSE    0    session    7cc2f11e0897420a80f43b83edd1363c
     
  8. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    завернул трафик в Fiddler2 пишет : ----
    " Сервер не вернул правильно отформатированный заголовков HTTP. Может быть, вообще отсутствует (например, HTTP/0.9), может быть только \ г \ г вместо \ г \ п \ г \ п?"

    Server did not return properly formatted HTTP Headers. Maybe missing altogether (e.g. HTTP/0.9), maybe only \r\r instead of \r\n\r\n?


    fiddler.network.readresponse.failure> Session #239 raised exception Программа на вашем хост-компьютере разорвала установленное подключение
     
  9. Denis_Pi

    Denis_Pi Art сreator

    Заблокирован
    Регистр.:
    8 май 2012
    Сообщения:
    398
    Симпатии:
    214
    Вопрос с заголовками решил!
    Все равно в файле с куками пишет
    Код:
    # Netscape HTTP Cookie File
    # http://curl.haxx.se/rfc/cookie_spec.html
    # This file was generated by libcurl! Edit at your own risk.
     
    www.sibdom.ru    FALSE    /    FALSE    0    session    b30647831e50a902e88c36bdff22ae23



    при снифе авторизации
    Говорит что куки должны быть такими:
    Код:
    PHPSESSID=4f01bf4633ae373c3085432fe36d31d3; session=ad759dc22ca0ef93f76421583fd89078; __utma=128237326.860473659.1362854633.1364580728.1364882511.6; __utmb=128237326.1.10.1364882511; __utmc=128237326; __utmz=128237326.1364882511.6.4.utmcsr=vk.com|utmccn=(referral)|utmcmd=referral|utmcct=/im; sd_main_uk=042a96faabb34bd18f3bde867a8b447424b01185%7Ef3b254efa25a423649a2a3bbfe659408b858631b



    Как правильно их забрать???