如何向 WooCommerce API 发送请求
How to send a request to the WooCommerce API
我目前正在为一家公司构建解决方案,我需要在我的C++项目中使用WooCommerce REST API功能将数据发送到网站。
到目前为止,经过 2 天漫长的痛苦,我已经设法安装了 cURL 库(通过 vcpkg),并使用您可以在互联网上找到的许多示例对库进行了一些测试。但就目前而言,我发现的内容似乎与WooCommerce人员在文档中的内容不符。 例如,在本节中,他们展示了如何使用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 命令在我的本地命令提示符下工作正常,但该示例不起作用。 我知道我的帮助请求可能是基本的,很容易解决,但我只是花了两天半的时间解决这个问题,我开始失去它。
感谢您的帮助,我尝试说最好的英语,所以提前对任何错别字表示歉意,或者如果我的帖子不符合该平台的演示标准,我很抱歉,我在这里有点新:D
好的,我已经想通了,对于那些路过并且可能遇到与我相同的问题的人。您在终端和库中使用 cURL 执行的命令完全不同:
- 在命令提示符下,您必须输入
curl -X POST https://blablablabla
- 在C++库中,您必须使用参数调用
curl_easy_setopt()
函数来指定请求的每个组件:CURLOPT_URL
是您的主域,CURLOPT_POSTFIELDS
是您要 POST 的数据,还有其他参数,例如CURLOPT_WRITEFUNCTION
、CURLOPT_WRITE_DATA
,...等,处理来自服务器的响应。
对我来说,这个例子真的很有用,我不知道我怎么会错过它:D感谢Jesper Juhl的建议,了解HTTP和HTTPS的工作原理至关重要。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 用于访问容器<T>数据成员的正确 API
- 如何使用Luacneneneba API正确读取字符串和表参数
- 使用 Winsock2.h C++向不和谐 API 发送 HTTP 请求时出现问题
- 从谷歌日历API获取错误请求
- 如何确定请求的 OID 是否在具有 net-snmp API 的表中?
- 按顺序保留多线程API的传入请求订单
- 如何向 WooCommerce API 发送请求
- C++ CURL Json 请求不和谐 API 以发布消息
- 用于C++的Google API客户端库与用于发送HTTP请求的libcurl
- HTTP 请求使用 Google API 客户端库进行C++
- 向twitter API发出经过验证的GET请求
- 可以创建一个单例 c++ 来进行身份验证并使用对 Facebook API 的 HTTP 请求在墙上发布
- 亚马逊,产品广告 API,签名请求 (C++)
- C++ 将请求发送到 Web 服务器上的 API,然后接收 JSON 数组响应
- 如何向包含多部分 HTTP POST 的 SendGrid Web API 发出请求
- Ghostscript API 请求"press <return> to continue"
- 这是正确的使用windows文件API吗?(多个重叠的请求)
- 如何获得完整的HTTP请求URL使用Apache httpd API (request_rec)
- 为什么使用io_submit API提交pwrite请求比提交pread请求慢得多