我设法安装了cURL库并使其在我的C ++项目中工作,但是POST请求似乎不适用于WooCommerce REST API。
我在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();
}
当我在Insomnia中执行此操作时,效果很好(std::string toPost
参数是WooCommerce documentation中提供的JSON格式的文本,我将这些值更改为自定义参数以查看它们是否显示在WooCommerce信息中心的产品清单中),但是当我向cURL参数发出相同的请求时,创建的产品是基本产品,没有任何参数。
结果:
顶部是在Visual Studio中使用cURL创建的产品,底部是使用Insomnia创建的具有相同JSON文本的产品。