cURL - cookie和会话

Ted*_*Ted 12 php curl

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

CURLOPT_COOKIESESSION  
CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR
CURLOPT_COOKIE
Run Code Online (Sandbox Code Playgroud)

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

dre*_*010 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,或者Cookie:使用您拥有的原始值设置自定义HTTP标头.