курл и куки

lena berkova

Местный житель
Регистрация
14 Янв 2009
Сообщения
437
Реакции
21
прописываю куки так

curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); //Из какого файла читать
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); //В какой файл записывать

вопрос-эти файлы сохраняются\удаляются при каждом запросе? поэтому папка со скриптом должна быть открыта на запись?
 
Сохраняются, когда вам сервер присылает кукисы. Это обычно авторизация, какие то настройки и т.д.
Так что если вам кукисы не присылают, то они и не сохраняются.
А читаются и отправляются они при каждом запросе.

Этот файл должен быть доступен на чтение и запись веб серверу, или же пользователю от которого запускается данный скрипт. Зависит от того как установлен php.
 
если много будет запросов то в файлах будет куча мусорных куки?
 
если много будет запросов то в файлах будет куча мусорных куки?
Да в одном файле будут писаться все куки. Можно создать tmpfile(), или после каждого прохода цикла ставить:
PHP:
fclose(fopen('cookie.txt','w'));
 
или через unlink('cookie.txt');
хотя большинству сайтов не мешают лишние куки, как правило смотрят на те что нужны, и забивают на остальные. им же не настолько скучно в жизни чтоб анализировать все что им посылают в куках
 
или через unlink('cookie.txt');
хотя большинству сайтов не мешают лишние куки, как правило смотрят на те что нужны, и забивают на остальные. им же не настолько скучно в жизни чтоб анализировать все что им посылают в куках
Если анлинк, то папке нужно давать права на запись, а не файлу.
В случае открытия-закрытия достаточно прав на запись только файлу.
Лучше второй вариант из соображений безопасности информции(если есть что хранить:)
 
при старте скрипта

$pid=getmypid(); //получаем уникальный PID процесса

curl_setopt($ch, CURLOPT_COOKIEFILE, "./tmp/".$pid.".txt"); //Из какого файла читать
curl_setopt($ch, CURLOPT_COOKIEJAR, "./tmp/".$pid.".txt"); //В какой файл записывать

после отработки всех необходимых функций, делаем
unlink("./tmp/".$pid.".txt");

в примере куки сохраняются в папочку ./tmp/АЙДИПРОЦЕССА.txt

плюсы - можно запускать несколько скриптов одновременно, и куки у всех будут свои.
 
Назад
Сверху