Работа с cookies

Очень часто новички в области грабинга/парсинга сайтов задают один и тот же вопрос:
“Как максимально просто отлавливать и устанавливать cookie?”.

Используя curl работа с кукисами стает вообще максимально простой. Вам стоит всего лишь использовать следующий код:

if(is_writable($CookieFile)) {
curl_setopt($curl_handler, CURLOPT_COOKIEFILE, $CookieFile);
curl_setopt($curl_handler, CURLOPT_COOKIEJAR, $CookieFile);
} else {
die('Файл не является записываемым: '.$CookieFile);
}

Для вас может быть новой такая опция как CURLOPT_COOKIEJAR и это неудивительно. Например, в моей версии официальной документации к PHP она не описана.

Что же делает данный кусок кода?

Поэтапно:

  • Проверяет можно ли писать в указанный в переменной $CookieFile файл
  • Если нельзя - выводит ошибку
  • Если можно - устанавливает кукисы из файла $CookieFile и устанавливает запись кукисов в данный файл

Грубо говоря, при помощи данного кода вы сохраняете все кукисы в файл и потом их используете.

Это может быть полезно когда:

  • на сайте используется сессионная модель взаимодействия с посетителями
  • когда аутентификация основана на информации из кукисов
  • когда в кукисы записываются какие-либо переменные, необходимые для дальнейшей работы на сайте

Дополнительные ссылки:

2 комментариев

  1. lamer:

    Кстати, не в курсе, как, используя CURL, указывать нужный USER_AGENT? Формировал заголовки сам, передавал их CURL’у, но все равно в запросе не оказывается ни каких упоминаний о браузере. :(

  2. admin:

    В курсе. Надо нервно курить ман, а не бегать по блогам и задавать подобные вопросы.

Оставить комментарий