码迷,mamicode.com
首页 > Web开发 > 详细

curl 获取自定义数据

时间:2015-07-29 11:50:27      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

// curl_test.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include <iostream>
#include "curl.h"
using namespace std;

/**
* 一旦curl接收到数据,就会调用此回调函数
* buffer:数据缓冲区指针
* size:调试阶段总是发现为1
* nmemb:(memory block)代表此次接受的内存块的长度
* userp:用户自定义的一个参数
*/
size_t write_data(void* buffer, size_t size, size_t nmemb, void* userp)
{
static int current_index = 0;

cout << "current:" << current_index++;
cout << (char*)buffer;
cout << "---------------" << endl;

int temp = *(int*)userp; // 这里获取用户自定义参数
return nmemb;
}

int _tmain(int argc, _TCHAR* argv[])
{
curl_global_init(CURL_GLOBAL_ALL); // 首先全局初始化CURL
CURL* curl = curl_easy_init(); // 初始化CURL句柄

if (NULL == curl)
{
return 0;
}

int my_param = 1; // 自定义一个用户参数

// 设置目标URL
curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com");
// 设置接收到HTTP服务器的数据时调用的回调函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
// 设置自定义参数(回调函数的第四个参数)
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &my_param);
// 执行一次URL请求
CURLcode res = curl_easy_perform(curl);
// 清理干净
curl_easy_cleanup(curl);

return 0;
}

curl 获取自定义数据

标签:

原文地址:http://www.cnblogs.com/Jeece/p/4685438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!