Вот скрипт: Код (Text): <? $ch = curl_init(); $uagent = "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; curl_setopt($ch, CURLOPT_URL, "http://www.gladiators.ru/"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); curl_setopt($ch, CURLOPT_TIMEOUT, 120); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE,"cookies.txt"); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS,"step=1&login=1&url=&auth_pass=&auth_name=******&auth_pass1=*****&auth_remember=checked"); $output = curl_exec($ch); curl_close($ch); print $output; ?> Он должен входить в игру, но получается что сайт пишет что не введен логин и пароль, хотя в запросе они есть. В чем может быть ошибка, скажите?
Invision Только не говорите, что это GET запрос. Я буду долго смеяться. До слёз. "Специалисты" блин... vodorod Возможно curl_setopt($ch, CURLOPT_FAILONERROR, 1); мешает выводу ошибки. И вместо строки в CURLOPT_POSTFIELDS передавайте массив. Тогда Content Encode будет multipart/form-data, а не application/x-www-form-urlencoded Ещё у вас перепутаны auth_pass и auth_pass1, а также auth_remember должно равняться on, а не checked. PHP: curl_setopt($ch, CURLOPT_POSTFIELDS,array('step'=>1, 'login'=>1, 'url'=>'', 'auth_pass'=>'******', 'auth_name'=>'******', 'auth_pass1'=>'', 'auth_remember'=>'on', ));
auth_pass и auth_pass1 всмысле перепутаны? Вот код: <input type="hidden" name="auth_pass" value=""/> <div> <table class='full'> <tbody> <tr> <td>Логин:</td> <td><input type='text' name='auth_name' style='width:120px' /></td> </tr> <tr> <td valign="top">Пароль:</td> <td><input type='password' name='auth_pass1' style='width:60px' /> И насколько я понимаю из браузера я в принципе не могу менять auth_pass [/code]
Вы не на HTML смотрите, а на то, что браузер серверу отсылает. В HTML+Javascript можно что угодно написать, вовек не разберётесь. А по отсылке переменных ясно видно, что браузер отсылает вот так: Код (Text): step 1 login 1 url auth_pass pupkin auth_name vasya auth_pass1 auth_remember on lang rus Как видите, auth_pass1 вообще пуст. И всё это отсылается в multipart/form-data
Invision В тоне вашего поста. vodorod Я использую Firebug для браузера Firefox и/или Dragonfly в Опере (Ctrl+Shift+I).
ну можно было просто ответить что это, обычный тон) мб еще скажите с какой интонацией это я произнес?
я например пхп пару месяцев изучаю, с этим не сталкивался по этому знаю что так выглядят GET запросы =) Так что если вы "гуру" то можно просто нормально и ответить)
Не нужно быть гуру, чтобы просто прочитать код, даже если тебе непонятно, что он делает. Одно только наличие слова POSTFIELDS в той же строке должно насторожить. Но пару месяцев изучения пхп уже дали возможность писать на форуме, а большее зачастую и не нужно "начинающим программистам".
я таким образом учусь сидя тут, даже если не прав я это на заметку ставлю и почитаю обязательно про POSTFIELDS