curl基本使用

一、vs2013建立 curl_test 控制台

将下载的curl .h头文件放入curl目录,生成的libcurl.lib拷贝curl目录中,libssh2-1.8.0-vc11-x86\lib\libssh2.lib拷贝到curl目录中
将openssl-1.0.2k-vc11-x86\lib目录下libeay32.lib、ssleay32.lib拷贝到curl目录中

将所有的.h文件添加到VS项目中

二、工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

三、工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。

工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

四、项目->属性->c/c++ ->预处理器->预处理器定义,添加BUILDING_LIBCURL

五、\libssh2-1.8.0-vc11-x86\bin目录下libssh2.dll,openssl-1.0.2k-vc11-x86\bin目录下ssleay32.dll,

openssl-1.0.2k-vc11-x86\bin目录下libeay32.dll拷贝到.exe所在目录.

 

test-code

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

#include "stdafx.h"
#include <iostream>
#include "curl/curl.h"

#pragma comment(lib,"curl/libcurl.lib")

using namespace std;

size_t write_data(void* buffer,size_t size,size_t nmemb,void* userp)
{
    static int current_index = 0;
    std::cout << "curent:" << current_index++;
    std::cout << (char*)buffer;
    std::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_parm = 1;            //自定义参数

    curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com");

    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);      //接收到HTTP服务器的数据时调用的回调函数

    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &my_parm);            //自定义参数(回调函数的第四个参数)

    CURLcode res = curl_easy_perform(curl);

    curl_easy_cleanup(curl);

    getchar();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值