cURL cookie negative cookie expire


cURL cookie negative cookie expire

我在使用cURL的cookie时遇到问题。

出现问题后,我打开了详细功能,发现即使服务器发送了正日期,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=/

正如您所看到的,expires和max-age都是正值,但cURL将expires设置为负值。

有人有主意吗?

编辑:

这是我使用的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立即过期(引用)。

我的最佳猜测是,该网站正试图使您的cookie过期。

也许这和Curl';t正确识别cookie中的过期值-"由于32位带符号整数值的限制,您的计算机出现问题。"