curl 如何处理cookie

来源:互联网 发布:织梦cms 首页轮播 编辑:程序博客网 时间:2024/04/30 03:28
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列表。
0 0
原创粉丝点击