При использовании PHP с Curl необходимо вызывать curl_close() после каждого вызова curl_exec(), чтобы файлы cookie работали правильно, используя параметры CURLOPT_COOKIEJAR И CURLOPT_COOKIEFILE? Или я могу вызывать curl_exec() столько раз, сколько захочу, для разных URL-адресов на одном и том же сайте и при этом сохранять файлы cookie без вызова curl_close() после каждого? Могу ли я использовать curl_exec() много раз и просто закрыть его curl_close() в конце скрипта?
Вопрос
PHP, Curl, curl_exec(), curl_close() и файлы cookie
- Проблема, с которой я сталкиваюсь, заключается в том, что файлы cookie, поддерживающие сеанс для нескольких исполнителей, похоже, ведут себя беспорядочно. tom 23.12.2010
Ответы
Ответ 1 · рейтинг 2 · Marc B
Вы должны вызывать curl_close() только тогда, когда знаете, что закончили с этим конкретным дескриптором, или если вы переключаетесь с его текущего состояния на новое (т. е. изменение множества опций с помощью curl_setopt() будет быстрее, если вы перейдете от чистого нового дескриптора, чем к вашему нынешний "грязный".
Параметры cookiejar/file строго необходимы только для сохранения файлов cookie между отдельными дескрипторами/вызовами curl. Каждый из них независим от других, поэтому файлы cookie являются единственным способом обмена между ними.
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- Постоянно добавлять несколько строк базы данных mysql в таблицу html, используя раскрывающийся список
- Учебник о том, как настроить несколько приложений laravel 5.1 в одном проекте
- SQL выбирает отдельные последние значения из таблицы
- Как правильно включить частичное представление в Laravel 5?
- Получить кодировку ответа curl
- Ошибка доступа к FTPS-сайту из unix - curl: (35) Неизвестная ошибка протокола SSL при подключении к