« Юбилей блога – 1 год | Синонимайзеры 2007-2008 »
Одной из полезных фич Curl’а является возможность использования кук при запросах. Использовать их можно двумя способами:
1) Подставляя куку в запрос вручную вот так curl_setopt($ch, CURLOPT_COOKIE, $cook); Этот способ хорош тем что вы полностью контролируете что прописано в куке и можете подредактировать её по своему желанию. Из этого обстоятельства следует и недостаток – приходится вручную разбираться, для какого сабдомена предназначена кука, когда она истекает и т.д.
2) Способ с использованием файла. Всё что нужно сделать это прописать две строчки:
curl_setopt($ch, CURLOPT_COOKIEJAR, $kfName);
curl_setopt($ch, CURLOPT_COOKIEFILE, $kfName);
После этого все запросы будут брать куку из файла и записывать новую полученную в тот же файл, забивать голову валидностью кук уже не надо. Файл естественно должен быть свой для каждого домена.
Один тонкий момент при использовании файлов для кук с курлом - надо внимательно смотреть, правильно ли прописан путь к файлу, включая то как у вас наклонены слеши. Сам ПХП в этом менее разборчив, под виндой (\) он может прочитать юниксовые слеши в неправильную сторону (/), но курл почему-то этого делать не умеет, поэтому если вы тестируете код под Денвером – имейте в виду что с неправильными слешами файл кук не будет создан. Если верить Гуглу, то это довольно частая проблема.
11 Responses
August 22nd, 2008 at 16:54:58
// php gravatar() ?>1Вот все классно вроде написано и умно, красиво и грамотно. Только одна проблемка небольшая – пришел первый раз человек на блог, прочитал что “Одной из полезных фич Curl’а является возможность использования кук при запросах”… Ну честно, не каждый и не с первого раза поймет, о чем идет речь. Я за то, чтобы в каждом посте в первых двух-трех предложениях описывать тему нормальным, человеческим языком, чтобы каждый смог понять, для него написан пост, или пока эта тема выше его понимания.
Спасибо за внимание =)
August 22nd, 2008 at 18:48:49
// php gravatar() ?>2DIRECTORY_SEPARATOR ?
http://us.php.net/manual/en/reserved.constants.php
August 23rd, 2008 at 02:34:27
// php gravatar() ?>3Да DIRECTORY_SEPARATOR решает проблему, но кто ж про него знал то, когда код писался несколько лет назад?
August 25th, 2008 at 20:27:27
// php gravatar() ?>4>у честно, не каждый и не с первого раза поймет, о чем идет речь.
а тому кто не поймёт про это и не надо знать. )
August 31st, 2008 at 12:51:30
// php gravatar() ?>5отличный паттерн для спамилки придумал GolDenOne
Вот все {классно,умно,красиво,грамотно} написано. Только одна проблемка небольшая – пришел первый раз человек на блог, прочитал что “{ПЕРВАЯ ФРАЗА ИЗ ПОСТА}”… {Ну честно, На самом деле} не каждый и не с первого раза поймет…..
И так далее
September 1st, 2008 at 11:22:22
// php gravatar() ?>6unodj, да, {паттерн|примочка} пойдет, согласен. Но все дело в том, что я не старался придумать заготовку для спама, как-то само вышло -). Это все был оффтоп. А по теме: тема рульная, вот только с хостером могут траблы возникнуть.
September 1st, 2008 at 11:53:48
// php gravatar() ?>7хыхы, понимаю (с) Старший сын
Как говорится – сила привычки или мастерство не пропьешь!
February 24th, 2009 at 23:54:12
// php gravatar() ?>8помнитсо чуть умом не тронулся пытаясь понять почему в локале не код не работает
June 4th, 2009 at 09:53:18
// php gravatar() ?>9У меня вот вопрос: хранит ли CURL свои cookies во время своей сессии? Или для этого всё время нужно прописывать COOKIEJAR и COOKIEFILE, что в свою очередь не очень удобно – я про хранение данных в файлах.
December 12th, 2009 at 19:57:51
// php gravatar() ?>10я с этими кукисам на локалке в виндах 2 часа провозился, но попал на ваш топик, оказывает надо указывать путь к файлу к примеру z://cookie.txt
спасибо!
February 10th, 2010 at 16:17:33
// php gravatar() ?>11Может ли курл сам удалять устаревшие куки из файла?
RSS feed for comments on this post · TrackBack URI
Написать комментарий
Про что писал
Календарь
Куйворды
Архив
Подписка на блог
Статистика подписки
Страницы
Комментарии
Последние посты
Blogroll
Счётчики
Свежие записи
Последние комментарии
Интересное на блоге
Самое комментируемое
SEO блог где палят темы is proudly powered by WordPress - BloggingPro theme modified by alexf