13

我想了解 cookie 的 cURL 的四个选项:

CURLOPT_COOKIESESSION  
CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR
CURLOPT_COOKIE

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

4

1 回答 1

21

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

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

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

于 2012-04-23T22:49:59.413 回答