我想了解 cookie 的 cURL 的四个选项:
CURLOPT_COOKIESESSION
CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR
CURLOPT_COOKIE
我知道那COOKIEJAR
是为了写 cookie,COOKIEFILE
是为了阅读。那是COOKIESESSION
为了什么?这CURLOPT_COOKIE
是自定义的,但我可以用它来维护与服务器的会话吗?
要了解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: