curl如何处理cookie

curl的easy接口中提供了5个与cookie有关的option,其中, CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR, CURLOPT_COOKIELIST 都会打开curl的cookie引擎,使得curl在收到http response时解析header field中的cookie。

设置 CURLOPT_COOKIEFILE 会使curl下一次发请求时从指定的文件中读取cookie。 
设置 CURLOPT_COOKIEJAR 会使curl在调用  curl_easy_cleanup的时候把cookie保存到指定的文件中。
设置CURLOPT_COOKIELIST会把指定的cookie字符串列表加入easy handle维护的cookie列表中。每个cookie字符串要么符合HTTP response header的"Set-Cookie: NAME=VALUE;..."格式,要么符合Netscape cookie格式。

CURLOPT_COOKIE用于设置一个分号分隔的“NAME=VALUE”列表,用于在HTTP request header中设置Cookie header。


curl内部使用Cookie和CookieInfo两个struct保存cookie信息。 为一个easy handle设置 CURLOPT_SHARE 选项,并且指定的share handle启用了cookie共享功能, 则easy handle会使用share handle中的共享cookie列表。

你可能感兴趣的:(curl如何处理cookie)