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
}
请登录后评论
TOP
切换版块
这个例子 MFC可以调用么
您好,感谢您对百度AI的关注与支持,如有问题请联系我们,祝好。