Работа с Cookie в curl

Отправить GET (POST) запрос вместе с Cookie

При любом запросе в curl можно также отправить Cookie через параметр CURLOPT_COOKIE.

// Отправка GET-запроса
$ch = curl_init('https://example.ru/');
curl_setopt($ch, CURLOPT_COOKIE, 'CITY_ID=5'); // Отправка Cookie
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch); // Ответ сервера

if (curl_errno($ch)) {
    echo 'Ошибка curl: '.curl_error($ch);
}

// Завершить сеанс с cURL и освободить ресурсы
curl_close($ch);

Получить Cookie с урл и сохранить в файле

Указать файлы, в котором будут сохраняться cookie с указанного урл, можно через параметры CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR.

$ch = curl_init('https://example.ru/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// Сохранение cookie в файле
curl_setopt($ch, CURLOPT_COOKIEFILE, 'path/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR,  'path/cookie.txt');

$data = curl_exec($ch);
curl_close($ch);