Bezdepbonusu7Программирование: статьи и ответы

Вопрос

PHP, Curl, curl_exec(), curl_close() и файлы cookie

Автор вопроса: tomОтветов: 1

При использовании PHP с Curl необходимо вызывать curl_close() после каждого вызова curl_exec(), чтобы файлы cookie работали правильно, используя параметры CURLOPT_COOKIEJAR И CURLOPT_COOKIEFILE? Или я могу вызывать curl_exec() столько раз, сколько захочу, для разных URL-адресов на одном и том же сайте и при этом сохранять файлы cookie без вызова curl_close() после каждого? Могу ли я использовать curl_exec() много раз и просто закрыть его curl_close() в конце скрипта?

  • Проблема, с которой я сталкиваюсь, заключается в том, что файлы cookie, поддерживающие сеанс для нескольких исполнителей, похоже, ведут себя беспорядочно. tom 23.12.2010

phpcurlcookies

Ответы

Ответ 1 · рейтинг 2 · Marc B

Вы должны вызывать curl_close() только тогда, когда знаете, что закончили с этим конкретным дескриптором, или если вы переключаетесь с его текущего состояния на новое (т. е. изменение множества опций с помощью curl_setopt() будет быстрее, если вы перейдете от чистого нового дескриптора, чем к вашему нынешний "грязный".

Параметры cookiejar/file строго необходимы только для сохранения файлов cookie между отдельными дескрипторами/вызовами curl. Каждый из них независим от других, поэтому файлы cookie являются единственным способом обмена между ними.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы