Как "тянуть" куки за собой в курле?

Статус
В этой теме нельзя размещать новые ответы.

HatoL

Профессор
Регистрация
5 Фев 2008
Сообщения
206
Реакции
36
В курле есть опции CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE, но они используют отдельный файл. А мне надо еще проще - чтобы курл просто вел "сессию", в которой отдавал все принятые куки и принимал все, которые требует сервер. Нужно это в сочетании с опцией CURLOPT_FOLLOWLOCATION (чтобы переходил по всем Location заголовкам, используя куки).

P. S. использую курл я не в PHP, а в C++, поэтому такая вот потребность в отсутствии этого лишнего файла.
 
  • Заблокирован
  • #2
Для просмотра ссылки Войди или Зарегистрируйся что-то надыбал, хоть в с++ я ламер, но вродь то. Кстати нафига ты тут создал тему? Да и в с++ используется libcurl! да и что всё-таки мешает создать этот файл?
 
Куки в заголовках отсылают и принимают, так что можешь хоть на аналоге fopen реализовать:)

Для curl_setopt есть параметр CURLOPT_COOKIE - Содержимое заголовка "Cookie: ", используемого в HTTP-запросе.
 
Нужно при установке опции курла CURLOPT_COOKIEFILE нужно указать то ли пустую строку, то ли NULL. Проверь. Просто самому это не нужно было. Чаще, даже наоборот, чтобы потом увидеть значения некоторых куков :)
 
В курле есть опции CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE, но они используют отдельный файл.
Не особо сложно будет сделать, чтобы запись кукисов велась в папку, где имя файла было названием домена. Либо можете придумать любой другой способ хранения данных.

А мне надо еще проще - чтобы курл просто вел "сессию", в которой отдавал все принятые куки и принимал все, которые требует сервер.

Все в кучу не получиться, т.к. каждый принятый кукис относится только к определенному сайту. Поэтому либо использовать структуру: один сайт - его кукисы, либо создавайте свое типизированное хранилище.

Да забыл сказать, если нужно хранить кукисы только на время работы программы, то можете создать массив в памяти, но тоже с разделением по доменам.
А у курла есть параметр CURLOPT_COOKIE где можно передавать не ссылку на файл, а строку с кукисами.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху