curl的easy接口中提供了5個(gè)與cookie有關(guān)的option,,其中,,CURLOPT_COOKIEFILE,CURLOPT_COOKIEJAR,,CURLOPT_COOKIELIST都會(huì)打開curl的cookie引擎,,使得curl在收到http
response時(shí)解析header field中的cookie。
設(shè)置CURLOPT_COOKIEFILE會(huì)使curl下一次發(fā)請求時(shí)從指定的文件中讀取cookie,。
設(shè)置CURLOPT_COOKIEJAR會(huì)使curl在調(diào)用 curl_easy_cleanup的時(shí)候把cookie保存到指定的文件中,。
設(shè)置CURLOPT_COOKIELIST會(huì)把指定的cookie字符串列表加入easy
handle維護(hù)的cookie列表中。每個(gè)cookie字符串要么符合HTTP response header的"Set-Cookie: NAME=VALUE;..."格式,,要么符合Netscape cookie格式,。
CURLOPT_COOKIE用于設(shè)置一個(gè)分號(hào)分隔的“NAME=VALUE”列表,用于在HTTP
request header中設(shè)置Cookie header,。
curl內(nèi)部使用Cookie和CookieInfo兩個(gè)struct保存cookie信息,。 為一個(gè)easy handle設(shè)置CURLOPT_SHARE選項(xiàng),并且指定的share
handle啟用了cookie共享功能,, 則easy handle會(huì)使用share handle中的共享cookie列表,。
“
CURLOPT_COOKIEFILE: 哈哈,這個(gè)實(shí)在是太重要了,,我之前嘗試了好多次沒法驗(yàn)證該次POST是否成功的原因就是沒有設(shè)置這個(gè)羅,。設(shè)置對(duì)應(yīng)的COOKIEFILE路徑,該路徑文件并不一定需要在物理磁盤上實(shí)際存在
”