укажите плз ошибку пишу скрипт для автоматического перебирания ответов на секретный вопрос... застрял на моменте отсылки ответа, что-то идет не так, ответ правильный, но скрипт возвращает опять ту же форму для ввода: PHP: <?php $match = array(); $target = "http://id.rambler.ru/script/reminder.cgi"; $postvars = "step=asklogin&login=menta955"; $c = curl_init($target); curl_setopt($c, CURLOPT_VERBOSE, 1); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_REFERER, "http://id.rambler.ru/"); curl_setopt($c, CURLOPT_USERAGENT, 'Opera/9.27 (Windows NT 5.1; U; en)'); curl_setopt($c, CURLOPT_POST, 1); // set POST method curl_setopt($c, CURLOPT_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($c, CURLOPT_VERBOSE, 1); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_REFERER, "http://id.rambler.ru/script/reminder.cgi"); curl_setopt($c, CURLOPT_USERAGENT, 'Opera/9.27 (Windows NT 5.1; U; en)'); curl_setopt($c, CURLOPT_POST, 1); // set POST method curl_setopt($c, CURLOPT_POSTFIELDS, $postvars); $page2=curl_exec($c); echo($page2); } else { echo($form2); } ?>
ТОже мучаюсь, помоему там ссесия вкл. и ее фиг знает как обойти. Вроде все правельно сделал. 1) вводим данные на первом шаге. 2) парсим number, сосавляем curl и все данные отправляем после ввода капчи, капчу выводим заранее с формочкой. Вот сижу мучаюсь, может кто поможет?
Во первых передавай куки, во вторых 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";