美文网首页
libcurl C++使用心得

libcurl C++使用心得

作者: 神游物外的轮子 | 来源:发表于2019-08-16 17:35 被阅读0次

起因是需要在C/C++实现http的POST功能,同事推荐了libcurl

安装

  1. 官网下载安装包
  2. 进入解压后的curl安装包路径
  3. 设置安装路径:./configure --prefix=/usr/local/curl
  4. 编译:make
  5. 可能需要root权限,进行运行:sudo make install

Easy libcurl

使用easy interface需要生成handle,对于每一个线程需要单独生成一个handle。生成handle的命令为:easyhandle = curl_easy_init()
使用curl_easy_setopt()设置属性以及选项,设置会默认沿用直到下一次修改

常用CURLOPT

  • CURLOPT_URL
    curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");
    
  • CURLOPT_WRITEFUNCTION 设置回传信息的写函数
     size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
     curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);
    
  • CURLOPT_HTTPHEADER 设置POST的类型
    curl_slist *plist = curl_slist_append(NULL, "Content-Type:application/json;charset=UTF-8");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, plist);
    
  • CURLOPT_POSTFIELDS 设置POST的内容
    char jsonData[1024] = {0};
    std::string strJson = "{\
                              \"A\":\"com.cloud.activate_sample\",\n\
                              \"B\":\"6666\",\n\
                              \"C\":\"new\",\n\
                              \"D\":\"\"\
                           }";
    strcpy(jsonData, strJson.c_str());
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonData);
    

相关文章

  • libcurl C++使用心得

    起因是需要在C/C++实现http的POST功能,同事推荐了libcurl 安装 官网下载安装包 进入解压后的cu...

  • Ceph RGW: libcurl用法介绍

    libcurl使用 使用libcurl访问外部http时的一个基本流程: 解析Ceph中进行libcurl请求的实...

  • 集成 libcurl(7.61.0)

    Visual C++ 2017 集成 libcurl(7.61.0) 下载 安装 Visual Studio 20...

  • ubuntu移植libcurl到Android平台

    最近移植了很多C++平台的库,很多都是后台开发的库,因为NDK开发,以后很可能会使用,提前预研一下。libcurl...

  • libcurl使用介绍

    目录 参考 curl介绍 libcurl-easy的API介绍 注意事项 1. 参考 [1] curl官网/cur...

  • libcurl 编译,使用

    libcurl 编译,使用 到官网下载最新源码,编译成库 工程中使用 工程中编译链接 链接时加参数:尝试加入这些依...

  • 基于libcurl下载文件

    Linux 上使用libcurl下载http文件。 需要安装libcur 编译:

  • CURL错误代码及含义(英文)

    NAME libcurl-errors - error codes in libcurl DESCRIPTION ...

  • Libcurl 学习与使用

    http://ftxtool.org/category/libcurl/[http://ftxtool.org/c...

  • libcurl的简单使用

    libcurl 是一个优秀的网络请求库,支持多种协议, 多平台, 这里我们就现简述一下http协议的使用 准备 本...

网友评论

      本文标题:libcurl C++使用心得

      本文链接:https://www.haomeiwen.com/subject/hanzjctx.html