Отправка cookie через cURL
Наверняка, Вы знаете, что контент страницы, отдаваемой сервером, иногда зависит от cookie, присланных клиентом (в частности, браузером). Это аналогично тому, что видит неавторизованный пользователь и авторизованный. Вот в этой статье мы с Вами научимся отправлять cookie через cURL.
Давайте для начала разберёмся с файлом-приёмником. Данный файл будет считывать cookie пользователя, и если это данные администратора, то выводить один контент, а если нет, то возвращать другой:
<?php
$log = $_COOKIE['login'];
$pass = $_COOKIE['password'];
if (($log == "Admin") && ($pass == "123456")) echo "Здравствуйте, Администратор!";
else echo "Доступ закрыт!";
?>
Теперь создадим скрипт, который будет отправлять cookie через cURL сначала "Администраторские", а потом другие.
<?php
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://temp.local/script.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_COOKIE, "login=Admin;password=123456");
$out = curl_exec($curl);
echo $out;
curl_setopt($curl, CURLOPT_COOKIE, "login=some;password=123456");
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
?>
Код здесь достаточно прозрачный, однако, на некоторых моментах, пожалуй, остановлюсь. В частности, обратите внимание, как задаются cookie. То есть формат такой: "name1=value1;name2=value2". Потому что иногда люди путают и вместо ";" ставят "&". И, главное, Вы должны усвоить, что один и тот же URL для одного пользователя будет содержать один контент, а для другого совсем другой. И зависит это от заголовков, посланных на сервер, в частности, cookie, которые обычно посылает браузер, но в нашем случае посылается с cURL.
После этой статьи у Вас открываются фантастические возможности по автоматизации определённых вещей. Простой пример: есть сайт, на котором находится определённая информация, доступная только зарегистрированным пользователям. Эта информация Вам нужна постоянно, но Вам не хочется постоянно заходить на сайт, авторизовываться и искать эту информацию. Вы можете написать простой скрипт, который подключится к нужному URL и передаст нужные cookie, чтобы сервер принял Вас за авторизованного пользователя. Далее сервер вернёт Вам нужную страницу с нужной Вам информацией, которую Вы и выводите. Таким образом, Вам надо будет только обновить страницу со скриптом, чтобы сразу увидеть нужную Вам информацию.
-
- Михаил Русаков
Комментарии (1):
Здравствуйте. А можете добавить статью, как получать cookie и сохранять его в файл и как этот файл использовать в дальнейшем
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.