Мне удалось установить библиотеку cURL и заставить ее работать в моем проекте C ++, но POST-запросы, похоже, не работают специально с REST API WooCommerce.
Я пробовал тот же запрос в Insomnia, ион работает отлично (я пытаюсь создать продукт).
bool LinkerURL::executePost(std::string toPost) {
std::string URL = main_domain + "wp-json/wc/v3/products/?consumer_key=" + consumer_key + "&consumer_secret=" + consumer_secret;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, URL.c_str());
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, toPost);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(curl);
// Check for errors
if (res != CURLE_OK) {
return false;
}
else {
return true;
}
}
// cleanup
curl_easy_cleanup(curl);
curl_global_cleanup();
}
Когда я делаю это в бессоннице, он работает очень хорошо (параметр std::string toPost
представляет собой текст в формате JSON, который предоставляется в Документация WooCommerce , что я изменил значения на пользовательские параметры, чтобы увидеть, появляются ли они в моем инвентаре продуктов на панели инструментов WooCommerce), но когда я даю тот же запрос, что и параметр cURL, созданный продукт является базовым продуктом.без моих параметров.
Результат:
Верхний продукт - это продукт, созданный в Visual Studio с использованием cURL, нижнийодин из них создан с использованием Insomnia с тем же текстом JSON.