curl的easy接口中提供了5个与cookie有关的option,其中,CURLOPT_COOKIEFILE,CURLOPT_COOKIEJAR,CURLOPT_COOKIELIST都会打开curl的cookie引擎,使得curl在收到http
response时解析header field中的cookie。
设置CURLOPT_COOKIEFILE会使curl下一次发请求时从指定的文件中读取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列表。