|
|
|
| Пишу скриптик для облегчения регистрации аккаунта на Рамблере (поборники сетевой этики - будьте покойны, это не для спама). Буду благодарен в денежном эквиваленте, если поможете решить проблему.
Начало реги: http://id.rambler.ru/script/newuser.cgi
Введите что угодно, чтобы попасть на 2-ю страницу реги, там мы увидим несколько полей, в том числе капчу. В исходнике оно выглядит так:
<input type="hidden" name="number" value="d023a53325b253329899c11b1427722e">
<input type="text" name="hash" value="" size="10" tabindex="1">
|
Скрипт мой спрашивает у меня капчу, показывая картинку, остальные поля заполняет сам и отсылает Рамблеру (включая соответствующий number). А Рамблер ругается на неправильно введенное число картинки.
Код скрипта:
function PostCurlPage($pageSpec, $data)
{
$agent = "up.b";
$header[] = "Accept: text/vnd.wap.wml,*.*";
$ch = curl_init($pageSpec);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "planeta.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "planeta.txt");
$tmp = curl_exec ($ch);
curl_close ($ch);
return $tmp;
}
if (!$action)
{
$login = "qweqweqeqw";
$data = "step=one&login=$login&firstname=$login&lastname=$login";
$content = PostCurlPage("http://id.rambler.ru/script/newuser.cgi", $data);
preg_match("/<\/td><td><img src=\"\/captcha\/(.*)\.jpg\" alt=\"\" border=\"0\"/isU", $content, $matches);
if ($matches[1]) print "<img src='http://id.rambler.ru/captcha/".$matches[1].".jpg'>
<form action='' method='post'>
<input type='text' name='captcha' size=10>
<input type='hidden' name='login' value='$login'>
<input type='hidden' name='action' value='captcha'>
<input type='hidden' name='number' value='".$matches[1]."'>
<input type='submit' value='ok'>
</form>"; else print "bad login";
}
if ($action == "captcha")
{
$data = "step=two&login=$login&domain=rambler.ru&firstname=$login&lastname=$login&password=123456&password2=123456&question=".urlencode("Номер Вашего паспорта")."&answer=12345&icq_mode=none&gender=2&news=0&number=$number&hash=$captcha&recoverpassword=";
$content = PostCurlPage("http://id.rambler.ru/script/newuser.cgi", $data);
print $data.$content;
}
|
Если кто захочет помочь индивидуально - ася 159574539 | |
|
|