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列表。