curl获得cookie数据<转>

  CURL *curl;
CURLcode res;
struct curl_slist *headers = NULL;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if(curl)
{
//初始化cookie引擎
curl_easy_setopt(curl,CURLOPT_COOKIEFILE,""); //初始化cookie引擎,才能正确接收到cookie数据.
curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_URL,"https://passport.csdn.net/account/login");
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookie_open.txt"); //把服务器发过来的cookie保存到cookie_open.txt curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); //FILE *bodyfile;
//bodyfile = fopen("open.html","w"); //curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); //写数据的回调函数存文件
//curl_easy_setopt(curl,CURLOPT_WRITEDATA, bodyfile); string content;
//设置回调函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &content); //执行http请求
res = curl_easy_perform(curl); //如果执行成功,
if(res == CURLE_OK)
{
struct curl_slist *cookies = NULL;
curl_easy_getinfo(curl,CURLINFO_COOKIELIST,&cookies); //获得cookie数据 int i=;
while (cookies)
{
TRACE("[%d]: %s\n", i, cookies->data);
cookies = cookies->next;
i++;
}
} //再次请求的地址
char *token_url="https://passport.csdn.net/account/login"; //释放资源 //fclose(bodyfile);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
} curl_global_cleanup();

源地址:https://blog.csdn.net/qing666888/article/details/43623431

上一篇:直接通过curl方式取得数据、模拟登陆、POST数据


下一篇:PHP CURL模拟提交数据 攻击N次方