如何在整个cURL会话中维护cookie数据?
问题描述:
我使用卷曲登录,就像这样:如何在整个cURL会话中维护cookie数据?
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_URL,'http://www.website.com/login.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username=example&password=example');
然后,一旦这样跑,我使用这个认证进一步要求:
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
麻烦的是,我可以除非我每次运行它时都重做登录部分,否则似乎不会使代码正常工作;这似乎不切实际,我敢肯定还有更好的方法去做。也许有一种方法可以告诉cURL Cookie保持活动多久?
答
在您进行任何认证工作之前,请确保您设置了CURLOPT_COOKIEFILE
和CURLOPT_COOKIEJAR
。
此外,请确保cookie.txt是可读写的。
设置COOKIEJAR和COOKIEFILE选项,然后再进行登录呼叫。 – 2011-06-13 14:47:43