да не надо ни в чем разбираться... были приведены данные отладки, среди которых видно, что рабочее решение есть. а потом я увидел что беседу мы ведем в форуме для ленивых слепоглухонемых. поэтому... secret.php: Код (PHP): <?php static::$user = 'ele59@rambler.ru'; static::$pass = '6O4YMbtU'; static::$host = 'https://glopart.ru'; # EOF main.php: Код (PHP): <?php /** * Сделайте за меня - Авторизация с CURL на сайте glopart.ru <http://php.ru/forum/viewtopic.php?f=36&t=50785> * * Авторизация с CURL на сайте glopart.ru * Сообщение LANIN » 2014-ноя-17 16:09:01 * * Помогите пожалуйста написать скрипт авторизации на сайте Glopart.ru c username=ele59@rambler.ru, password=6O4YMbtU,используя библиотеку CURL. * Последний раз редактировалось LANIN 2014-ноя-17 19:38:10, всего редактировалось 1 раз. * */ define('BOT_USERAGENT', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36'); // init cURL ru_php_forum_50785::init(); // GET / ru_php_forum_50785::s1(); // lazy move mouz ova "litchni kabineth" & click-it sleep(rand(2,4)); // goto "litchni kabineth"'s uri ru_php_forum_50785::s2(); // and satisfy redirect to login from ru_php_forum_50785::s3(); // human-like form filling out sleep(rand(2,3)); // okaeee, PUSH-DA-BATON ru_php_forum_50785::s4(); // and satisfy redirect to... "litchni kabineth" *YAHOO* ru_php_forum_50785::s5(); // k, my name is NOT "Владимир Крутиков" so sleep(rand(5,8)); // logout ru_php_forum_50785::s9(); class ru_php_forum_50785 { private static $ch; private static $host, $user, $pass; public static function init () { require_once 'secret.php'; static::$ch = curl_init(static::$host); curl_setopt(static::$ch, CURLOPT_COOKIEFILE, "/tmp/ru_php_forum_50785.cookiefile"); curl_setopt(static::$ch, CURLOPT_COOKIEJAR, "/tmp/ru_php_forum_50785.cookiefile"); curl_setopt(static::$ch, CURLOPT_ENCODING, 1); curl_setopt(static::$ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt(static::$ch, CURLOPT_PROXY, false); curl_setopt(static::$ch, CURLOPT_USERAGENT, BOT_USERAGENT); } // public static function init () public static function s1 () { curl_setopt(static::$ch, CURLOPT_POST, false); curl_setopt(static::$ch, CURLOPT_URL, static::$host . '/'); curl_setopt(static::$ch, CURLOPT_HTTPHEADER, array( 'Connection: keep-alive', 'Cache-Control: max-age=0', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36', 'Referer: http://php.ru/forum/viewtopic.php?f=36&t=50785', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: ru,en-US;q=0.8,en;q=0.6', )); $result = curl_exec(static::$ch); var_dump(__METHOD__, curl_getinfo(static::$ch), $result); } // public static function s1 () public static function s2 () { curl_setopt(static::$ch, CURLOPT_POST, false); curl_setopt(static::$ch, CURLOPT_URL, static::$host . '/app/profile'); curl_setopt(static::$ch, CURLOPT_HTTPHEADER, array( 'Connection: keep-alive', 'Cache-Control: max-age=0', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36', 'Referer: ' . static::$host . '/', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: ru,en-US;q=0.8,en;q=0.6', )); $result = curl_exec(static::$ch); var_dump(__METHOD__, curl_getinfo(static::$ch), $result); } // public static function s2 () public static function s3 () { curl_setopt(static::$ch, CURLOPT_POST, false); curl_setopt(static::$ch, CURLOPT_URL, static::$host . '/login/unauthorized?next=%2Fapp%2Fprofile'); curl_setopt(static::$ch, CURLOPT_HTTPHEADER, array( 'Connection: keep-alive', 'Cache-Control: max-age=0', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36', 'Referer: ' . static::$host . '/', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: ru,en-US;q=0.8,en;q=0.6', )); $result = curl_exec(static::$ch); var_dump(__METHOD__, curl_getinfo(static::$ch), $result); } // public static function s3 () public static function s4 () { $post = array( 'next' => '/app/profile', 'username' => static::$user, 'password' => static::$pass, ); curl_setopt(static::$ch, CURLOPT_URL, static::$host . '/login'); curl_setopt(static::$ch, CURLOPT_POST, true); curl_setopt(static::$ch, CURLOPT_POSTFIELDS, http_build_query($post)); curl_setopt(static::$ch, CURLOPT_HTTPHEADER, array( 'Connection: keep-alive', 'Cache-Control: max-age=0', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36', 'Content-Type: application/x-www-form-urlencoded', 'Referer: ' . static::$host . '/login/unauthorized?next=%2Fapp%2Fprofile', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: ru,en-US;q=0.8,en;q=0.6', )); $result = curl_exec(static::$ch); var_dump(__METHOD__, curl_getinfo(static::$ch), $result); } // public static function s4 () public static function s5 () { curl_setopt(static::$ch, CURLOPT_POST, false); curl_setopt(static::$ch, CURLOPT_URL, static::$host . '/app/profile'); curl_setopt(static::$ch, CURLOPT_HTTPHEADER, array( 'Connection: keep-alive', 'Cache-Control: max-age=0', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36', 'Referer: ' . static::$host . '/login/unauthorized?next=%2Fapp%2Fprofile', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: ru,en-US;q=0.8,en;q=0.6', )); $result = curl_exec(static::$ch); var_dump(__METHOD__, curl_getinfo(static::$ch), $result); } // public static function s5 () public static function s9 () { curl_setopt(static::$ch, CURLOPT_URL, static::$host . '/logout'); curl_setopt(static::$ch, CURLOPT_HTTPHEADER, array( 'Connection: keep-alive', 'Cache-Control: max-age=0', 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36', 'Referer: ' . static::$host . '/app/profile', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: ru,en-US;q=0.8,en;q=0.6', )); $result = curl_exec(static::$ch); var_dump(__METHOD__, curl_getinfo(static::$ch), $result); } // public static function s9 () } // class ru_php_forum_50785 # EOF код избыточный но я может тоже ленивый слепоглухонемой)))
БОЛЬШОЕ СПАСИБО,ДОРОГОЙ ТОВАРИЩ.Разрешите мне как автор столь могучего кода попробовать сократить его до 15 строк.Надеюсь,что сильно вы не рассердитесь.
вот ща въехал. кто до 15 ужмет? я? дай ложку дай говна? вы? ну дык если получится то валайте конечно, мне не жалко. я тут вроде копирайтов нигде не накидал
ОТ ВАС БОЛЬШОЕ СПАСИБО.БОЛЬШЕ ничего не надо.Ужимать буду пробовать конечно я .Просто я сильно ограничен временем работы,ибо увы неизлечимо нездоров.Ну точно 15 строк может и не получится.Хотя только для авторизации.Сам парсинг у меня без выдирания текста занял очень мало.Ну это если с готовыми кукисами.А что такое "".?
это смайлик называется. в данном случае широкая такая улыбка белоснежными зубами. придать сообщению позитивный настрой.
Ну это так случайно получилось.Может быть 17 или 14....... Добавлено спустя 1 минуту 36 секунд: Большое спасибо за общение.НЕ буду отрывать вас от нормальных ваших дел.
Лабуда товарища Ганзала выдает ошибку........ Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting T_VARIABLE in Z:\home\localhost\www\GLOP2\main.php on line 51........
совершенно несложно догадаться что волшебную пыль товарища Ганзала мурмудон ЛАНИН запускает на пыхе версии ниже 5.3, которая в свою очередь выпущена: товарищ Ганзал не несет ответственности за отсталых в развитии технологического прогресса, ведь на его дворе уже 02 Dec 2014. товарищ Ганзал выложил актуальный лог работы опубликованного кода, доказывающий его работоспособность. обновись, клоун.
Я бы с удовольствием заплатил за скрипт.Но лишний раз убедился в том,что товарищ Ганзала очередной клоун,совершенно не умеющий работать с заказчиком.Мне просто жаль Ваших клиентов товарисч,если они у вас есть,конечно.
Так пиши в раздел free-lance там делают за деньги, тут делают как хотят (раздел сделайте за меня), в других разделах учат как делать. Закажи вёрстку которая будет совместима с IE5.
Да подход к делу у хорошего мастера одинаков.ТО ли за рубль он работает,то ли за миллион. Тогда он настоящий профессионал.
а я чо-то денег требовал за этот код? вроде даже копирайтами пренебрёг ибо клиентов у меня не бывает и все это чистейшей воды энтузиазм. ты создал тему, я написал код, пароль не подошел. я отписался и забыл. какое-то время спустя задача еще не решена. ну думаю наглый какой - пароль неправильный а про код 15 строк вынь да положь. сморю отредактировано первое сообщение. написал опять скрипт, вбил, запустил - работает. пошел потыкал разные варианты. мне ж интересно как сервак реагирует. мне, понимаешь? в задаче не стояло. все проверил, насладился, вернул как было, убедился что работает и опубликовал дамп работы скрипта. потом понял что тема в форуме для наглых ленивых халявщиков и опубликовал весь код. ну чтоб ты отвязался, понимаешь? и задача чтоб тобою сформулированная была выаолнена. а ты такой мол блин тут строк не 15. ну это ж не мои проблемки, так? вроде уладили и закончили на позитивной ноте. потому что я всегда позитивен в общении с людьми. даже с ленивыми халявщиками. и тут мне прилетает термин лабуда в отношении моей работы. и я сохраняя позитив объясняю что надо обновиться с оченьпиздецкаксильно устаревшей версии на хотя бы просто сильно устаревшую. термин клоун потому что ты меня повеселил этим всем перформансом. термин мурмудон ничего не значит. из серии глокой куздры с глокуздрятами. но вроде мурмудон было псевдонимом какого-то писаки. и после этого ты наезжаешь на меня со своими проклятиями. как же я буду жить такой весь проклятый тобою? да как обычно. ты пых обновил, засранец? ))))) убедился что код рабочий?)))) я ж только за него переживаю. не обижаешь ли ты его там и всё такое. успехов
ДА НЕ ОБИЖАЙСЯ ТЫ ТАК.Как я мог тебя проклясть ,ты что.Ты молодец.С обновлением небольшая проблема.Я то проверяю на Денвере.А там Апач 2 версия.Короче нужна 4 версия Апача.Которой в Денвере не будет.Так что обновить нельзя наверно.Скорее всего в свое время я и не обновился.А может из-за лени .Так что код твой увы не проверить.Так что,считай,что твой код рабочий.И спи спокойно.Дорогой Товарисч.
а чо качнуть бинарники современного пыха и подсунуть его сраному денверу не судьба? да и денвер сейчас с версией 5.3.13 идет уж коли мы в таком разделе - обновить тебе денвер? или переписать код под пых 5.2? ты пока думай а я в доту пошел играть.