скрипт php sec question rambler

Discussion in 'PHP' started by binarnik, 12 Nov 2008.

  1. binarnik

    binarnik New Member

    Joined:
    8 Aug 2008
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    укажите плз ошибку
    пишу скрипт для автоматического перебирания ответов на секретный вопрос...
    застрял на моменте отсылки ответа, что-то идет не так, ответ правильный, но скрипт возвращает опять ту же форму для ввода:

    PHP:
    <?php
    $match 
    = array();
    $target "http://id.rambler.ru/script/reminder.cgi";
            
    $postvars "step=asklogin&login=menta955";  
            
    $c curl_init($target);
            
    curl_setopt($cCURLOPT_VERBOSE1); 
            
    curl_setopt($cCURLOPT_RETURNTRANSFER1);
            
    curl_setopt($cCURLOPT_REFERER"http://id.rambler.ru/");
            
    curl_setopt($cCURLOPT_USERAGENT'Opera/9.27 (Windows NT 5.1; U; en)');
            
    curl_setopt($cCURLOPT_POST1); // set POST method  
            
    curl_setopt($cCURLOPT_POSTFIELDS$postvars);
            
    $page=curl_exec($c);
            
    preg_match_all("/captcha\/\w+.jpg/"$page$match);
            
    $match[0][0] = str_replace("captcha/"""$match[0][0]);
            
    $number str_replace(".jpg"""$match[0][0]);
            
    curl_close($c);
            
    $page str_replace("/captcha/".$match[0][0], "http://id.rambler.ru/captcha/".$match[0][0], $page);
            
    $form2 =  "<img src='http://id.rambler.ru/captcha/".$match[0][0]."' alt='' border='0' vspace='2'>
            <form id='form1' name='form2' method='post' action=''>
            <p>Vvedite tekst s kartinki</p>
              <p>
                <label>
                <input type='text' name='captcha' id='2' />
                </label>
                </p>
              <p>
                <label>
                <input type='hidden' name='number' value='"
    .$number."'>
                <input type='submit' name='button' id='button' value='Pognali' />
                </label>
            </p>
            </form>"
    ;
    //echo($page);
    if(isset($_POST['captcha']) && !empty($_POST['captcha'])) {
            
    $postvars "step=askanswer&login=menta955&domain=rambler.ru&question=Девичья фамилия матери&number=
            "
    .$_POST['number']."&hash=".$_POST['captcha']."&answer=menta955";
            
    $c curl_init($target);
            
    curl_setopt($cCURLOPT_VERBOSE1); 
            
    curl_setopt($cCURLOPT_RETURNTRANSFER1);
            
    curl_setopt($cCURLOPT_REFERER"http://id.rambler.ru/script/reminder.cgi");
            
    curl_setopt($cCURLOPT_USERAGENT'Opera/9.27 (Windows NT 5.1; U; en)');
            
    curl_setopt($cCURLOPT_POST1); // set POST method  
            
    curl_setopt($cCURLOPT_POSTFIELDS$postvars);
            
    $page2=curl_exec($c);
            echo(
    $page2);
    } else {
        echo(
    $form2);
    }

    ?>
     
  2. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Проверь заголовки ответа может там кукисы идут ид сессии и т.п =)
     
  3. WMCASH

    WMCASH New Member

    Joined:
    19 Sep 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    ТОже мучаюсь, помоему там ссесия вкл. и ее фиг знает как обойти. Вроде все правельно сделал.

    1) вводим данные на первом шаге.
    2) парсим number, сосавляем curl и все данные отправляем после ввода капчи, капчу выводим заранее с формочкой.

    Вот сижу мучаюсь, может кто поможет?
     
  4. .:nbd:.

    .:nbd:. Elder - Старейшина

    Joined:
    27 Jul 2008
    Messages:
    97
    Likes Received:
    27
    Reputations:
    1
    Во первых передавай куки, во вторых
    PHP:
    $postvars "step=askanswer&login=menta955&domain=rambler.ru&question=Девичья фамилия матери&number= 
            "
    .$_POST['number']."&hash=".$_POST['captcha']."&answer=menta955";
    замени на:
    PHP:
    $postvars "step=askanswer&login=menta955&domain=rambler.ru&question=".urlencode('Девичья фамилия матери')."&number= 
            "
    .$_POST['number']."&hash=".$_POST['captcha']."&answer=menta955";