Немало полезных возможностей дает расширение cURL, которые можно использовать для реализации различных сетевых инструментов и не только. Сегодня cURL используют все по разному, для добрых и не очень дел. Всё дело в его удобстве, и возможности использования его в различных ситуациях, где нужно каким-либо образом отправлять и получать данные удаленно, без ручного участия пользователя. Рассмотрим простой пример, как можно сделать авторизацию на сайте.
Изначально, перед тем как что-то программировать нам нужно кое-что уточнить.
1. Узнать ссылку к скрипту авторизации, который будет отвечать на запросы.
2. Узнать имена полей, отправляемые скрипту, традиционно это поля логина и пароля.
3. Ваш рабочий логин, и пароль.
Затем приступаем к примеру:
// URL скрипта авторизации $login_url = 'http://exampe.com/login.php'; // параметры для отправки запроса - логин и пароль $post_data = 'login=ваш_логин&password=ваш_пароль'; // создание объекта curl $ch = curl_init(); // используем User Agent браузера $agent = $_SERVER["HTTP_USER_AGENT"]; curl_setopt($ch, CURLOPT_USERAGENT, $agent); // задаем URL curl_setopt($ch, CURLOPT_URL, $login_url ); // указываем что это POST запрос curl_setopt($ch, CURLOPT_POST, 1 ); // задаем параметры запроса curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); // указываем, чтобы нам вернулось содержимое после запроса curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // в случае необходимости, следовать по перенаправлени¤м curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); /* Задаем параметры сохранени¤ cookie как правило Cookie необходимы для дальнейшей работы с авторизацией */ curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // выполняем запрос для авторизации $postResult = curl_exec($ch);
После выполнения функции curl_exec будет выполнен запрос с параметрами авторизации, содержимое страницы ответа будет находиться в переменной $postResult.
Опция CURLOPT_COOKIEFILE указывает файл, в котором будут храниться данные cookies полученные после успешного выполнения запроса авторизации. Так же следует убедиться в наличии прав PHP для создания и записи файла.
Все последующие запросы после успешной авторизации могут выполняться с помощью этих функций:
curl_setopt($ch, CURLOPT_URL, $url); curl_exec($ch);
Кстати, для отладки удобно использовать консоль браузера, в Firefox и Chrome для открытия служит клавиша F12. Открыв вкладку «сеть» можно просмотреть параметры, отправляемые на заданный URL и ответ сервера.
Спасибо !
Интересно что будет через 10 лет? я изучаю программирование и у меня ничего не получается, уже как 3 год я пытаюсь изо всех сил. Но я всё ещё изучаю и мне уже всё равно что это мне даст но я буду программировать!
не работает