如何向 WooCommerce 发送请求 API
How to send a request to the WooCommerce API
作为实习生,我目前正在为一家公司构建解决方案,我需要在我的 C++ 项目中使用 WooCommerce REST API 功能将数据发送到网站。
到目前为止,经过漫长痛苦的 2 天,我已经成功安装了 cURL 库(通过 vcpkg)并使用您可以在 Internet 上找到的许多示例对该库进行了一些测试。但就目前而言,我发现的内容似乎与 WooCommerce 的人员在其文档中输入的内容不符。
例如,在 this 部分,他们展示了如何使用 cURL 在平台上创建产品,但我无法理解如何在 C++ 项目中用 cURL 语言翻译它。哎呀,当我在命令提示符下使用我的参数时,该命令甚至不起作用。
#include <curl/curl.h>
#include <string>
// cUrl declaration
CURL* curl;
CURLcode res;
std::string readBuffer;
std::string URL = "http://www.example.com";
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, URL);
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) {
std::string error = "curl_easy_perform() failed: ";
error += curl_easy_strerror(res);
error += "\nImpossible de se connecter au site WooCommerce fourni. Veuillez verifier vos paramètres et redémarrer l'application.";
wxMessageBox(error);
}
else {
std::string success = "Connexion au domaine ";
success += URL;
success += " réussie.\nPour changer de domaine, veuillez consulter la page Paramètres.";
wxMessageBox(success);
}
}
// cleanup
curl_easy_cleanup(curl);
curl_global_cleanup();
这段代码工作正常,我知道我必须添加公司的网站而不是示例,但我不知道在哪里添加我的客户端密钥和客户端密码(基本上就像在WooCommerce 文档)。基本的 cURL 命令在我的本地命令提示符下运行良好,但示例不起作用。
我知道我的帮助请求可能有点简单而且很容易解决,但我只花了最后 2 天半的时间来解决这个问题,我开始失去它了。
感谢您的帮助,我已尽力说出最好的英语,如有任何打字错误,请提前致歉,如果我的 post 不符合该平台的演示标准,请见谅,我是新来的 :D
好的,我已经弄明白了,对于路过的人来说可能和我有同样的问题。您在终端和库中使用 cURL 执行的命令完全不同:
- 在命令提示符中,您必须输入
curl -X POST https://blablablabla
- 在C++库中,你必须调用带参数的
curl_easy_setopt()
函数来指定请求的每个组件:CURLOPT_URL
是你的主域,CURLOPT_POSTFIELDS
是你的数据想要POST,还有其他参数,如CURLOPT_WRITEFUNCTION
,CURLOPT_WRITE_DATA
,...等处理来自服务器的响应。
对我来说,this example 真的很有用,我不知道我怎么会错过它:D 感谢 Jesper Juhl 的建议,了解 HTTP 和 HTTPS 的工作原理对于解决这个问题至关重要出。
作为实习生,我目前正在为一家公司构建解决方案,我需要在我的 C++ 项目中使用 WooCommerce REST API 功能将数据发送到网站。
到目前为止,经过漫长痛苦的 2 天,我已经成功安装了 cURL 库(通过 vcpkg)并使用您可以在 Internet 上找到的许多示例对该库进行了一些测试。但就目前而言,我发现的内容似乎与 WooCommerce 的人员在其文档中输入的内容不符。 例如,在 this 部分,他们展示了如何使用 cURL 在平台上创建产品,但我无法理解如何在 C++ 项目中用 cURL 语言翻译它。哎呀,当我在命令提示符下使用我的参数时,该命令甚至不起作用。
#include <curl/curl.h>
#include <string>
// cUrl declaration
CURL* curl;
CURLcode res;
std::string readBuffer;
std::string URL = "http://www.example.com";
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, URL);
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) {
std::string error = "curl_easy_perform() failed: ";
error += curl_easy_strerror(res);
error += "\nImpossible de se connecter au site WooCommerce fourni. Veuillez verifier vos paramètres et redémarrer l'application.";
wxMessageBox(error);
}
else {
std::string success = "Connexion au domaine ";
success += URL;
success += " réussie.\nPour changer de domaine, veuillez consulter la page Paramètres.";
wxMessageBox(success);
}
}
// cleanup
curl_easy_cleanup(curl);
curl_global_cleanup();
这段代码工作正常,我知道我必须添加公司的网站而不是示例,但我不知道在哪里添加我的客户端密钥和客户端密码(基本上就像在WooCommerce 文档)。基本的 cURL 命令在我的本地命令提示符下运行良好,但示例不起作用。 我知道我的帮助请求可能有点简单而且很容易解决,但我只花了最后 2 天半的时间来解决这个问题,我开始失去它了。
感谢您的帮助,我已尽力说出最好的英语,如有任何打字错误,请提前致歉,如果我的 post 不符合该平台的演示标准,请见谅,我是新来的 :D
好的,我已经弄明白了,对于路过的人来说可能和我有同样的问题。您在终端和库中使用 cURL 执行的命令完全不同:
- 在命令提示符中,您必须输入
curl -X POST https://blablablabla
- 在C++库中,你必须调用带参数的
curl_easy_setopt()
函数来指定请求的每个组件:CURLOPT_URL
是你的主域,CURLOPT_POSTFIELDS
是你的数据想要POST,还有其他参数,如CURLOPT_WRITEFUNCTION
,CURLOPT_WRITE_DATA
,...等处理来自服务器的响应。
对我来说,this example 真的很有用,我不知道我怎么会错过它:D 感谢 Jesper Juhl 的建议,了解 HTTP 和 HTTPS 的工作原理对于解决这个问题至关重要出。