Всем привет, нужна помошь, я пишу сккрипт авторегера, но он не пашет, я передаю полностью все пост параметры которые есть на странице но наверно чегото в нём не хватает. я пытался проснифать через httpfox пост параметры но всё без успешно , кто может помочь? аот сам скрипт. PHP: <? $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, "http://fotostrana.ru/signup/"); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); $str = curl_exec($cur); curl_close($cur); $massiv_name = array(0 => 'Маша', "Катя", 'Марина', 'Анжела', 'Кира', 'Юля', 'Саша', 'Света', 'Наташа', 'Лена', 'Люда', 'Валентина', 'Ксюня', 'Алёна'); $rand_num_name = rand(1,13); $ok_rand_name = "$massiv_name[$rand_num_name]"; // Выбрали случайное ИМя $birthDay = rand(1,31); $birthMonth = rand(1,12); $birthYear = rand(1992, 1997); $randdata = "user_birthday_day=$birthDay&user_birthday_month=$birthMonth&user_birthday_year=$birthYear"; // Выбираем рандомную дату $massiv_post = array(0 => "$ok_rand_name","[email protected]", "1234567890"); preg_match_all("/<input(.*?)\/>/",$str,$pars_1); $post_hidden = ""; $post_text = ""; $i = "0"; foreach($pars_1[0] as $pars_2) { if(preg_match("/hidden/",$pars_2)) { preg_match("/name=\"(.*?)\"/",$pars_2,$pars_one_name); preg_match("/value=\"(.*?)\"/",$pars_2,$pars_one_value); $post_hidden .= $pars_one_name[1]."=".$pars_one_value[1]."&"; } elseif(preg_match("/type=\"text\"|type=\"password\"/",$pars_2)) { preg_match("/name=\"(.*?)\"/",$pars_2,$pars_two_name); $post_text .= $pars_two_name[1]."=".$massiv_post[$i]."&"; $i++; } } $curl_post = $post_hidden.$post_text."user_sex=w&".$randdata."&terms_agree=checked&tk=3mp&dudewhereismycar=0"; // заполняем получаем все переменные для пост запроса echo $curl_post; $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, "http://fotostrana.ru/signup/"); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt'); curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt'); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); curl_setopt($cur, CURLOPT_POST, 1); curl_setopt($cur, CURLOPT_POSTFIELDS, "$curl_post"); $doc = curl_exec($cur); curl_close($cur); echo $doc; ?>
от одним местом чую...что это из-за русских букв. может лучше в шифрованом виде? Сорь Тс, у меня вопрос, Запостю тут. Могу ли я в контексте объявления curl_init для одной переменной открывать разные странички через CURLOPT_URL?
проверьте у вас все данные отсылаются. У вас dudewhereismycar = 0 Code: http://fotostrana.ru/signup/ POST /signup/ HTTP/1.1 Host: fotostrana.ru User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1 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.5,en;q=0.3 Accept-Encoding: gzip, deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Connection: keep-alive Referer: http://fotostrana.ru/signup/ Cookie: source=175; inv_source=land2; mrc=app_id%3D554108%26is_app_user%3D0; __utma=112732955.243275867.1326505893.1326505893.1326505893.1; __utmb=112732955.1.10.1326505893; __utmc=112732955; __utmz=112732955.1326505893.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) Content-Type: multipart/form-data; boundary=---------------------------41184676334 Content-Length: 1513 -----------------------------41184676334 Content-Disposition: form-data; name="l_source" -----------------------------41184676334 Content-Disposition: form-data; name="ftoken-fSignup" e688ca744e -----------------------------41184676334 Content-Disposition: form-data; name="redirect_url" -----------------------------41184676334 Content-Disposition: form-data; name="submitted" 1 -----------------------------41184676334 Content-Disposition: form-data; name="user_name" b3ldkklsdsldksdlkb3 -----------------------------41184676334 Content-Disposition: form-data; name="user_sex" m -----------------------------41184676334 Content-Disposition: form-data; name="user_birthday_day" 17 -----------------------------41184676334 Content-Disposition: form-data; name="user_birthday_month" 4 -----------------------------41184676334 Content-Disposition: form-data; name="user_birthday_year" 1980 -----------------------------41184676334 Content-Disposition: form-data; name="user_email" [email protected] -----------------------------41184676334 Content-Disposition: form-data; name="user_password" 10474583hfuidf -----------------------------41184676334 Content-Disposition: form-data; name="terms_agree" on -----------------------------41184676334 Content-Disposition: form-data; name="tk" 4700 -----------------------------41184676334 Content-Disposition: form-data; name="dudewhereismycar" 2919639468292 -----------------------------41184676334-- HTTP/1.1 302 Found Server: nginx/1.0.4 Date: Sat, 14 Jan 2012 01:52:20 GMT Content-Type: text/html Connection: keep-alive X-Powered-By: PHP/5.3.5 Expires: Thu, 01 Jan 1970 00:00:01 GMT Last-Modified: Sat, 14 Jan 2012 01:52:19 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: vir_reg=deleted; expires=Fri, 14-Jan-2011 01:52:19 GMT; path=/; domain=.fotostrana.ru Set-Cookie: uid=49985794; expires=Mon, 23-Apr-2012 01:52:20 GMT; path=/; domain=.fotostrana.ru Set-Cookie: hw=e96a73314c4332083677b3f081e6d22119; expires=Mon, 23-Apr-2012 01:52:20 GMT; path=/; domain=.fotostrana.ru Location: /?isRegisterSuccess=true Content-Length: 0
таксс, первое что у меня не так было ето terms_agree" стояло checked исправил на on дальше у вас tk = 4700 а dudewhereismycar = 2919639468292 хотя в пост данных формы они имеют значения name="tk" value="3mp" name="dudewhereismycar" value="0" может при нажатии на сабмит там джава скриптом ети знаечения меняются на другие?? или как ещо можно обьяснить разницу?? и чем вы отснифали заголовки? честно, незнаю