// test_libcurl.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include "curl.h"
using namespace std;
#pragma comment(lib, "libcurl.lib")
#define POSTURL "http://xxxxxxxxxxx"
#define POSTFIELDS "xxxxxx"
size_t write_data(void* buffer, size_t size, size_t nmemb, void *stream)
{
cout << (char*)buffer << endl;
return size*nmemb;
}
int main(int argc, char* argv[])
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (!curl)
{
fprintf(stderr, "curl init failed\n");
return -1;
}
string s = "";
curl_easy_setopt(curl, CURLOPT_URL, POSTURL); //url地址
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, POSTFIELDS); //post参数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); //对返回的数据进行操作的函数地址
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &s); //这是write_data的第四个参数值
curl_easy_setopt(curl, CURLOPT_POST, 1); //设置问非0表示本次操作为post
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/Users/zhu/CProjects/curlposttest.cookie");
res = curl_easy_perform(curl);
if (res != CURLE_OK)
{
return -1;
}
curl_easy_cleanup(curl);
curl_global_cleanup();
system("pause");
return 0;
}