Установка CURL Для использования CURL необходимо также собрать PHP с опцией --with-curl[=DIR] (собрать??? он что упал и разбился? и что, теперь его собрать надо! или его весной посадили, он пророс, созрел и готов для сбора??? что значит собрать PHP??? с опцией??? блин ваще! с какой опцией? я его скачал, списал на диск Ц и поменял пхп.ини - все!!! как теперь его собрать с опцией КУРЛ? или его теперь разобрать надо, а потом снова собрать, но уже с --with-curl[=DIR] ), где DIR - имя директории... ППЦ! Для кого это написано? Для тех у кого этот курл давно стоит? Для тех, кто знает о чем речь? На хрена им это писать? Писать надо для нас, тупых и неграмотных!
для вас, тупых и неграмотных, под винду, все собрано в архив, который надо просто распаковать и раскомментировать соответствующие строчки в php.ini, а нормальные перцы под никсами собирают все ручками.
кстати на счет мозгов Содрал: PHP: <? $site="www.site.ru"; $path="/"; $my_sock = curl_init(); // инициализируем соединение curl_setopt($my_sock, CURLOPT_URL, $site.$path); // настраиваем необходимый урл curl_setopt($my_sock, CURLOPT_HEADER, 0); // отключаем заголовки curl_setopt($my_sock, CURLOPT_USERPWD, 'login:pass'); // задаем пароль и логин curl_exec($my_sock); // выполняем наш запрос curl_close($my_sock); // закрываем соединение ?> Но все равно страницу открывает как для неопознанного юзера, чего ему CURLOPT_USERPWD не хватает? А?
а при чем тут curl и file_get_contents? сие РАЗНЫЕ вещи. почитай ВНИМАТЕЛЬНЕЕ про curl и как им данные получать
Давай я попробую просто все объяснить, CURL это один из механизмов эмуляции браузера, то есть мы заставляем сервер думать что мы с него данные берем просматривая в браузере,а не из скрипта.Для прохода в авторизованую часть сайта через КУРЛ необходимо выполнить POST(в 90% случаев,хотя могут попасться и другие способы авторизации) запрос с логином и паролем.Получить от сервера куки,и каждый раз делая запрос на получение страницы не забывать давать ему куки.в КУРЛ есть возможность автоматически сохранять куки и использовать их, ищи в списке опций. PS: Чтоб понять какой POST запрос надо сделать, первый способ это открыть исходный код страницы с авторизацией, найти там форму отвечающую за вход,и изучить ее.Второй продвинутый, просто смотрим какой запрос делает браузер при авторизации через него, для этого есть как самостоятельные программы, так и плагины для браузера.
PHP: $ch=curl_init('http://vkontakte.ru/login.php'); $login=""; // Здесь адресс почты $password="";// здесь пароль $data="email=".$login."&pass=".$password; curl_setopt($ch,CURLOPT_POST,true ); curl_setopt($ch,CURLOPT_FOLLOWLOCATION ,true ); curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true ); curl_setopt($ch,CURLOPT_POSTFIELDS ,$data ); curl_setopt($ch,CURLOPT_COOKIEFILE ,'c:\cookie.txt' ); curl_setopt($ch,CURLOPT_COOKIEJAR,'c:\cookie.txt' ); $res=curl_exec($ch); //echo $res; $ch=curl_init('http://vkontakte.ru/id1'); curl_setopt($ch,CURLOPT_FOLLOWLOCATION ,true ); curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true ); curl_setopt($ch,CURLOPT_COOKIEFILE ,'c:\cookie.txt' ); $res=curl_exec($ch); echo $res; Авторизиумеся на сайте..и вытаскиваем страницу с id=1.
как оперелить email там или может e_mail, а может mail? ну и с pass тоже самое. Если я открою страницу и с формы вытащу названия инпутов лоина и пароля, это оно и есть?
HTML: <input type="text" name="[b]user[/b]" maxlength="16" class="text" style="width: 120px;"> <input type="password" name="[b]password[/b]" maxlength="16" class="text" style="width: 120px;"> Оно?
в том -то и дело что попробовал и не работает, куки зписались в cookie.txt, а страница згрузилась как для неопознанного юзера, вот и думаю чего не так. Почему не получилось?
Кнопку submit, кстати, тоже надо в post включать, если у нее атрибут name есть. Да и вообще всю форму полностью, а не только логин и пароль.
HTML: <form action="/index.php?id=7" method="post"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td style="font-weight: bold; color: #000000;">Логин:</td> <td style="width: 5px;"></td> <td><input type="text" name="user" maxlength="16" class="text" style="width: 120px;"></td> </tr> <tr style="height: 5px;"> <td></td> <td style="width: 5px;"></td> <td></td> </tr> <tr> <td style="font-weight: bold; color: #000000;">Пароль:</td> <td style="width: 5px;"></td> <td><input type="password" name="password" maxlength="16" class="text" style="width: 120px;"></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="margin: 10px 0 0 0;"> <tr> <td><input type="image" src="/assets/templates/regular/images/bn_enter.gif" style="width: 66px; height: 23px;"></td> <td style="width: 10px;"></td> <td><input type="checkbox" id="auth_checkbox" value="on" name="remember" class="checkbox"></td> <td style="width: 5px;"></td> <td><label for="auth_checkbox" style="color: #000000;">запомнить</label></td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" style="margin: 10px 0 0 0;"> <tr> <td><a href="/index.php?id=3"><img src="/assets/templates/regular/images/bn_reg.gif" alt="" style="border: none; width: 110px; height: 22px;"></a></td> <td style="width: 10px;"></td> <td><a href="/index.php?id=5" class="inverted" style="color: #000000;">напомнить пароль</a></td> </tr> </table> </form> извиняюсь что лишнее не убрал
Ура получилось!!!!!!!!!!!!!!!!! HTML: <form action="/index.php?id=7" method="post"> Не поставил index.php?id=7
Я вчера поставил IEWatch, прикольная штука! Вчера так хорошо шерстил куки и заголовки, а сёня че-то не хочет, надо покапаться, но сначала поиграюсь с параметрами curl_setopt курла, надо понять че там че делает. mantell Alost и даже тебе 440Hz (хотя ты и хам (но ооч грамотный хам! )) Спасибо!!! Ура!!!