最后编辑于2021-08
"error_code": 216101, "error_msg": "param image not exist"
我也知道是image位置不正确 可是这个参数应该是怎样的呢,请大佬指点下,谢谢!代码有没有什么问题?
float get_similar_search(std::string &json_result, std::string &access_token)
{
std::string strJsonData = "{\"image\":\"iVBORw0KGgoAAA\",\"tags\":\"100,11\",\"tag_logic\":\"0\",\"pn\":\"0\",\"rn\":\"300\"}";
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, strJsonData.c_str());
char szData[1024] = { 0 };
if (curl)
{
//拼接获取到token后的postUrl
sprintf_common(szData, sizeof(szData), strResultPostUrl.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, strJsonData);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, similar_search_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 = detect_result;//此处可以得到返回数据
curl_easy_cleanup(curl);
is_success = 0;
}
else {
fprintf(stderr, "curl_easy_init() failed.");
is_success = 1;
}
return is_success;
}
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
相似相同接口是KV形式拼接参数。不是JSON格式拼接哦。
例如 image=urlencode(base64)&aa=111
您好,可以参考其他开发者贡献的示例代码,比如:http://ai.baidu.com/forum/topic/show/496555
或者加入开发者QQ群(630770006)交流问题,多谢。