curl获得cookie数据
来源:互联网 发布:大众老总途观 知乎 编辑:程序博客网 时间:2024/05/16 16:09
研究了一下curl操作cookie的方法,有个需要注意的地方:
void BsuHttp::httpGet(const char *url,size_t(*func)(uint8_t *buffer,size_t size,size_t nmemb,void *stream)){CURL *curl;CURLcode res;char buffer[10];curl = curl_easy_init();//对curl进行初始化if(curl){curl_easy_setopt(curl,CURLOPT_URL,url);//设置urlcurl_easy_setopt(curl,CURLOPT_COOKIE,cookie);//设置cookiecurl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,func);//设置接收数据完成后执行的函数curl_easy_setopt(curl,CURLOPT_COOKIEFILE,"");//设置cookie文件保存路径,必须要执行,否则不能获得cookie数据.curl_easy_perform(curl);//执行访问地址struct curl_slist *cookies = NULL;curl_easy_getinfo(curl,CURLINFO_COOKIELIST,&cookies);//获得cookie数据int i=1;while (cookies) { CCLOG("[%d]: %s\n", i, cookies->data);cookies = cookies->next;i++;}curl_easy_cleanup(curl);//清理curl对象}}
本来我的操作很简单,从传输过来的数据中获得cookie数据就可以了,但必须要执行curl_easy_setopt(curl,CURLOPT_COOKIEFILE,"");才能正确接收到cookie数据.让我很是想不通,我拿我的cookie数据,设置什么cookie的文件?
后来查到官方示例代码:
curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/"); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); /* just to start the cookie engine */ res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); return 1; } print_cookies(curl);CURLOPT_COOKIEFILE后有一句注释just to start the cookie engine.译为"仅仅开始cookie引擎",你运行cookie引擎用个别的方法好不好?否则从CURLOPT_COOKIEFILE上理解就是与cookie的file有关系,太有歧义了.
所以,通过curl获得cookie一定要注意这里.
- curl获得cookie数据
- curl获得cookie数据
- CURL COOKIE
- curl自动登录CNZZ获得数据(数据采集)
- php使用curl存取cookie进行登录抓取数据示例
- php curl 添加cookie伪造登陆抓取数据
- php curl 添加cookie伪造登陆抓取数据
- curl添加cookie 伪造信息登陆抓取数据
- PHP curl爬取数据 加入cookie值
- 关于curl库的介绍(数据的获得)
- curl如何处理cookie
- CURL模拟cookie登录
- curl用cookie抓取
- curl share cookie DNS
- curl设置cookie
- Curl cookie设置
- curl 如何处理cookie
- curl之cookie
- cocos2d-x 遮罩
- DB2锁机制
- 使用Highcharts生成折线图与曲线图
- WebView访问HTTPS空白的SslError处理(兼容2.1)
- Rotating Rings
- curl获得cookie数据
- Ubuntu下配置samba实现文件夹共享
- 南阳理工acm 题目116 士兵杀敌(二)树状数组
- 设计模式(二)六大设计原则
- Fermat’s Chirstmas Theorem
- 笔记本上玩windowsandroid 设置成平板
- Android 之ActivityThead、ActivityManagerService 与activity的管理和创建
- 大白菜装XP
- php生成二维码