Использование cURL - поддержка файлов cookie, сессий и т. Д. - PullRequest
1 голос
/ 29 апреля 2011

Скажем, я делаю запрос на вход на сайт, используя cURL.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URLs["sign_in"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cj.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cj.txt");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $pData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_REFERER, $URLs["home"]);
curl_exec($ch);
curl_close($ch);

Теперь, скажем, я сделал еще один запрос, чтобы получить другую страницу. Как я могу сохранить те же сеансы и файлы cookie, которые были у меня (в предыдущем коде), в моем следующем запросе? Я пробовал это, не работает:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URLs["enter"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cj.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cj.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_REFERER, $URLs["home"]);
$data = curl_exec($ch);
curl_close($ch);

Кстати, все это в одном файле PHP.

Есть идеи? Заранее спасибо!

1 Ответ

0 голосов
/ 29 апреля 2011

Это работает для меня.

Убедитесь, что у вас есть разрешение на cj.txt для записи.Или, если cj.txt не существует, убедитесь, что у вас есть разрешение на его создание (я считаю, что разрешения на выполнение каталога).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...