Cookies в php и curl

Тема в разделе "PHP", создана пользователем satih, 23 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Вопрос от новичка в php и curl - в чем преимущество пользоваться CURLOPT_COOKIE и прасить куки в массив, перед работой с файлом через CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE? В том что в массиве их удобней обработать?

    Пример работы с CURLOPT_COOKIE и массивом (отсюда)
    PHP:
    @curl_setopt($chCURLOPT_COOKIE$cookie);
    // some kod ...
    function get_cookie($page) { // и бонус, для парсинга кукисов
        
    if(preg_match("|Set-Cookie: (.*)\n|Uis",$page,$rnd)) return $rnd[1];
    else return 
    false;
     
  2. studentpm

    studentpm

    Регистр.:
    8 ноя 2006
    Сообщения:
    184
    Симпатии:
    132
    CURLOPT_COOKIE - позволяет тебе простым способом добавить значение куки к запросу.
    В то время как CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE позволяют работать с куками отправленными тебе сайтом и не задумываться над слежением за их актуальностью.
     
    satih нравится это.
  3. NoX

    NoX Писатель

    Регистр.:
    18 ноя 2007
    Сообщения:
    4
    Симпатии:
    1
    Использование файлов, а точнее одного и того же файла под куки не всегда удобно. Если например скрипт массовый, предоставляешь некий сервис, скажем "Парсер адресной книги гмэйл" для всех желающих, где они вводят свои данные и тд, то куки в одном файле будут перезаписываться. Тогда и на помощь приходит возможность не хранить куки в файле, либо файл для хранения куков делать по типу сессии, где для каждого раза, будет уникальное место хранения куков.
     
  4. saifu

    saifu

    Регистр.:
    13 фев 2008
    Сообщения:
    337
    Симпатии:
    38
    Все верно расписали:
    переменная позволяет записать все разные cookie для разных сеансов, а при использовании CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE данные в файле постоянно перезаписываются на актуальные cookie.
     
Статус темы:
Закрыта.