以下是一个简单的main函数,演示如何使用上面定义的HttpClient
类发送HTTP POST请求并接收服务器响应:
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
HttpClient httpClient;
QObject::connect(&httpClient, &HttpClient::replyReceived, [&](QByteArray response){
qDebug() << "Response received:" << response;
});
QUrl url("http://example.com/api"); // 替换为实际的API地址
QJsonObject jsonData;
jsonData["key1"] = "value1";
jsonData["key2"] = 123;
QJsonDocument jsonDoc(jsonData);
QByteArray postData = jsonDoc.toJson();
httpClient.postJson(url, postData);
return a.exec();
}
在这个main函数中,我们首先创建了一个QCoreApplication
对象,并实例化了之前定义的HttpClient
对象httpClient
。然后使用Lambda表达式连接了自定义信号replyReceived()
到一个匿名槽函数,用于处理服务器返回的数据。
接着构造了一个API地址(请替换为实际的地址),创建了一个包含JSON数据的QJsonObject
对象,并将其转换为字节数组。最后调用httpClient.postJson()
方法发送POST请求。
通过运行这个main函数,你可以测试HTTP客户端类是否能够成功发送POST请求并接收服务器返回的响应数据。
内容由零声教学AI助手提供,问题来源于学员提问