关于开发者C++调用EasyDL的开发示例
FlyOnTheSky6 发布于2018-10-12 浏览:2959 回复:2
1
收藏
int Post_EasyDL_Result(std::string &json_result, std::string &access_token)
{
 char szBaseData[65535] = { 0 };
 std::string strJsonData = "{\"image\":\"%s\",\"top_num\":5}";

//easydl接口的图片的base64不需要urlencode处理,请改成自己图片的base64数据

//图片可以用这个转换 https://tool.css-js.com/base64.html  

std::string strbase = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
 sprintf_s(szBaseData, sizeof(szBaseData), strJsonData.c_str(),strbase.c_str());
 CURL *curl;
 CURLcode result_code;
 int is_success;
 curl = curl_easy_init();
 struct curl_slist *pheaders = NULL;
 struct curl_slist *pbody = NULL;
 
 pheaders = curl_slist_append(pheaders, "content-type: application/json;charset=UTF-8");
 pbody = curl_slist_append(pbody, szBaseData);
 
 if (curl) 
 {

  char szData[1024] = { 0 };
  sprintf_s(szData, sizeof(szData), strEasyPostUrl.c_str(), access_token.c_str());
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, pheaders);
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, pbody);
  curl_easy_setopt(curl, CURLOPT_URL, szData);  //指定的带token的url
  curl_easy_setopt(curl, CURLOPT_HTTPPOST, 1L);
  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);//设置为FALSE 禁止 cURL 验证对等证书
  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);// 设置为 1 是检查服务器SSL证书中是否存在一个公用名
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, szBaseData);
  curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Post_EasyDL_callback);
  result_code = curl_easy_perform(curl);
  if (result_code != CURLE_OK) {
   fprintf(stderr, "curl_easy_perform() failed: %s\n",
    curl_easy_strerror(result_code));
   is_success = 1;
   return is_success;
  }

  json_result = strdetect_result;//这里就可以看到返回数据了
  curl_easy_cleanup(curl);
  is_success = 0;
 }
 else {
  fprintf(stderr, "curl_easy_init() failed.");
  is_success = 1;
 }
 return is_success;
}
int main() 
{

std::string strResultToken="";

Post_EasyDL_Result(strdetect_result, strResultToken);//strResultToken是你获取到的token
}
收藏
点赞
1
个赞
共2条回复 最后由homewzx84回复于2020-10-28
#3homewzx84回复于2020-10-28

这个例子 MFC可以调用么

0
#2qshanshan26回复于2019-01-09

您好,感谢您对百度AI的关注与支持,如有问题请联系我们,祝好。

0
TOP
切换版块