zoukankan      html  css  js  c++  java
  • 基于libcurl的POST(http)

    #include <stdio.h>
    #include <curl/curl.h>
    int main (void)
    {
    char *url="http://www.nengyouyun.cn/user/getAppversionnew2?apptype=H5C899DDC";
    //char *url="http://127.0.0.1:8080";                     //Liuzhenbo
    //char *url="http://www.baidu.com";                     //Liuzhenbo
    //char *url="localhost";
    
    CURL *pCurl = NULL;
    CURLcode res;
    
    struct curl_slist *headerlist = NULL;
    
    struct curl_httppost *post = NULL;
    struct curl_httppost *last = NULL;
    //-----------------------------------------------------------------------//picture1
    curl_formadd(&post, &last,CURLFORM_COPYNAME, "picture1", //此处表示要传的参数名
    CURLFORM_FILE, "1.jpg",                               //此处表示图片文件的路径
    //CURLFORM_CONTENTTYPE, "image/jpeg",
    CURLFORM_END);
    //------------------------------------------------------------------------//picture2
    curl_formadd(&post, &last,
    CURLFORM_COPYNAME, "picture2",                      //此处表示要传的参数名
    CURLFORM_FILE, "2.jpg",                              //此处表示图片文件的路径
    CURLFORM_END);
    //----------------------------------------------------------------------------//json
    curl_formadd(&post, &last,
    CURLFORM_COPYNAME, "text1",                           //此处为别的参数
    CURLFORM_COPYCONTENTS, "1.json",                   //要上传的json字符串
    CURLFORM_END);
    //------------------------------------------------------------------------------
    pCurl = curl_easy_init();                           //初始化句柄  -liuzhenbo
    
    if (NULL != pCurl)
     {
    //curl_easy_setopt(pCurl, CURLOPT_TIMEOUT, 5);
      curl_easy_setopt(pCurl, CURLOPT_URL, url);
      curl_easy_setopt(pCurl, CURLOPT_HTTPPOST, post);
    
      res = curl_easy_perform(pCurl);
    //  printf("
    res is OK!--liuzhenbo
    ");                           //-liuzhenbo
        if (res != CURLE_OK)
         {
          printf("
    res is not ok!--liuzhenbo
    ");                  //-liuzhenbo                              
          printf("curl_easy_perform() failed,error code is:%s
    ", curl_easy_strerror(res));
         }
        printf("
    "); 
    
      curl_easy_cleanup(pCurl);
    
     }
    }

    服务器返回的http主体:

    lzb@lzb:~/projects/curls/http_post$ ./liu_post
    {"app":{"id":96,"version":"1.73","upfile":"3957","apkfile":null,"apptype":{"id":"apptype-H5C899DDC","key":{"dicno":"apptype","datano":"H5C899DDC"},"name":"昱昌","sortnum":"2","isuse":"2"},"descr":"修改APP地图界面客户数的统计"}}
  • 相关阅读:
    PCA 主成分分析实践 plink软件
    c语言中基本数据类型
    c语言中利用itoa函数将整数值以二进制、八进制、十六进制显示
    c语言中以10进制、8进制、16进制显示同一个数字
    c语言中实现文件的复制(文本复制和二进制复制)
    c语言 13-13
    c语言显示文件自身
    LYDSY模拟赛day2 Dash Speed
    LYDSY模拟赛day2 Market
    LYDSY模拟赛day2 Divisors
  • 原文地址:https://www.cnblogs.com/liuzhenbo/p/11041931.html
Copyright © 2011-2022 走看看