cURL - cookie和会话

时间:2012-04-23 22:37:57

标签: php curl

我想了解cURL for cookies的四个选项:

CURLOPT_COOKIESESSION  
CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR
CURLOPT_COOKIE

我知道COOKIEJAR用于编写Cookie,COOKIEFILE用于阅读。 那么COOKIESESSION是什么? CURLOPT_COOKIE是自定义的,但是我可以使用它来维护与服务器的会话吗?

1 个答案:

答案 0 :(得分:20)

要了解CURLOPT_COOKIESESSION,您需要了解有关Cookie的一些事项。 Cookie具有由发布Cookie的网站设置的到期日期。如果cookie的过期日期已过,则浏览器/客户端将不会发送它,并且客户端将删除它。如果cookie设置为没有过期日期,浏览器应该使用该cookie,直到浏览器会话关闭,或者用户注销并且cookie被取消设置。

也就是说,CURLOPT_COOKIESESSION是一种让cURL模拟关闭浏览器的方法。如果COOKIEFILE中有一些会话cookie(没有过期的cookie),它通常会在文件中存在时发送这些cookie。如果您设置CURLOPT_COOKIESESSION,则它不会发送任何没有过期日期的Cookie。

CURLOPT_COOKIE只是为您提供了一种设置将以原始格式发送到服务器的cookie数据的方法。例如,如果您有要发送的原始HTTP cookie,这将非常有用。如果没有此选项,您必须将这些cookie放入COOKIEFILE,或者使用您拥有的原始值设置自定义HTTP标头Cookie: