Скажите пожалуйста, вот у меня есть форма авторизации, классика логин и пароль, и можно как-то один раз авторизоваться по логину и паролю, а после сохранить куки, и без авторизации отправляя эти куки ходить по страницам предназначенных для авторизированных пользователей. Я пробовал сделать так
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $page_url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookie");
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookie");
$result = curl_exec($ch);
echo $result;
В файле my_cookie, хранится куки после успешной авторизации(тоже через cURL).
Но меня всё равно перенаправляет на страницу авторизации.
Минимально необходимый код для работы ниже. Во-первых у вас нет CURLOPT_RETURNTRANSFER, который возвращает содержимое страницы. CURLOPT_COOKIEJAR - это запись кук, в нем нет необходимости, так как вы хотите отдать куку, а не записать.
coockie.txt - это файл уже записанной куки.
$url = 'http://site.ru/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/coockie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$page = curl_exec($ch);
echo $page;
Проверено на своем сайте.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей