代码之家  ›  专栏  ›  技术社区  ›  cucucool

如何将向量发布到HTTP端点

  •  0
  • cucucool  · 技术社区  · 7 年前

    我有以下用C填充的数据类型++

    std::vector<uint8_t> bytes;
    

    使用libcurl,如何将其发布到HTTP端点?

    尝试了以下代码,但我认为它无法处理我的帖子数据

    CURL *curl;
    CURLcode res;
    
    curl_global_init(CURL_GLOBAL_ALL);
    curl = curl_easy_init();
    if(curl) {
      curl_easy_setopt(curl, CURLOPT_URL, "http://1.2.3.4:9002/multicastdataclient-message");
      curl_easy_setopt(curl, CURLOPT_POSTFIELDS, &bytes);
      res = curl_easy_perform(curl);
      if(res != CURLE_OK)
        fprintf(stderr, "curl_easy_perform() failed: %s\n",
                curl_easy_strerror(res));
      curl_easy_cleanup(curl);
    }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   cucucool    7 年前

    基于所有注释,以下代码有效!

    卷积码res;

    curl_global_init(CURL_GLOBAL_ALL);
    curl = curl_easy_init();
    if(curl) {
      curl_easy_setopt(curl, CURLOPT_URL, "http://1.2.3.4:9002/message");
      curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, bytes.size());
      curl_easy_setopt(curl, CURLOPT_POSTFIELDS, bytes.data());
    
      res = curl_easy_perform(curl);
      if(res != CURLE_OK)
        fprintf(stderr, "curl_easy_perform() failed: %s\n",
      curl_easy_strerror(res));
      curl_easy_cleanup(curl);
    }
    else
    {
      DBG("curl empty !!");
    }