Intereting Posts
Сравните все строки в массиве со всеми строками в другом массиве, PHP Ограничение доступа IFRAME в PHP Как отправить Json и Image на сервер для ios Ошибка PHP: невозможно изменить информацию заголовка – уже отправленные заголовки поменять два слова в строке php java-скрипт Оповещения о выпуске Unicode в IE 8 Поддержка jquery Передача-Кодировка: chunked? как Получить переменное имя объекта внутри объекта php Codeigniter не может издеваться над объектом с помощью aspectmock Ошибка PHP: php_network_getaddresses: getaddrinfo не удалось: (при получении информации с другого сайта.) как точно найти данные между выбранной диагональной областью в запросе mysql Увеличение ограничения вызовов функций вложенности Отправка электронной почты с помощью CodeIgniter с использованием «mail» или «sendmail» Изменение событий календаря Google из учетной записи службы Google: 403 Как удалить запись в php, которая имеет составной (многоколоночный) первичный ключ

cURL cookie negative cookie expire

У меня проблемы с cookie с cURL.

После проблем я включил функцию verbose и выяснил, что cURL устанавливает их отрицательную дату истечения срока действия, даже если сервер отправляет положительную дату.

Пример:

* Added cookie _c_sess=""test"" for domain test.com, path /, expire -1630024962 < Set-Cookie: _c_sess="test"; Domain=test.com; HttpOnly; expires=Mon, 26-Mar-2012 14:52:47 GMT; Max-Age=1332773567; Path=/ 

Поскольку вы можете видеть как истечения срока действия, так и максимальный возраст положительны, но значения cURL истекают до отрицательного значения.

У кого-то есть идея?

РЕДАКТИРОВАТЬ:

Вот код PHP, который я использую.

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://site.com/"); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0'); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiepath); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiepath); curl_setopt($ch, CURLOPT_HEADER ,1); curl_setopt($ch, CURLOPT_VERBOSE ,1); curl_setopt($ch, CURLOPT_STDERR ,$f); curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $data = curl_exec($ch); 

Данные из банка cookie:

 #HttpOnly_.test.com TRUE / FALSE -1630016318 _test_sess "test" 

Ваш код отлично работает для меня. Ваш пример сайта, http://www.site.com/ даже не пытается установить какие-либо файлы cookie. Когда я запускал его на сайтах, которые устанавливали файлы cookie (например, FaceBook), у меня было положительное время истечения срока действия.

Вероятно, эта ошибка является проблемой на сервере, который пытается установить файлы cookie, устанавливающие неправильное значение.

Любое отрицательное число немедленно истечет с помощью файла cookie ( cite ).

Мое лучшее предположение, сайт пытается закончить ваш файл cookie.

Возможно, это та же проблема, что и Curl, которая не распознает значение true в cookie правильно: «У вас возникла проблема на вашем компьютере из-за ограничений 32-разрядных целочисленных значений со знаком».