Отправка сообщения






Добро пожаловать!

Авторизация с помощью cURL в PHP

php-authНемало полезных возможностей дает расширение 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 и ответ сервера.

Добавил: htmaker, 08.08.2015 г.
 
плохослабосойдетхорошоотлично (3 голосов, средний: 4,33 из 5)
Загрузка...

Комментарии

  1. Николай пишет:

    Спасибо !

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Форум на разные темы - digital-planet.info

Комментарии

  • Загрузка...

Наверх