Qt 发送http的get和post请求
在Qt中,可以使用QNetworkAccessManager类来发送HTTP的GET和POST请求。
发送GET请求的示例代码如下:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkRequest request;
request.setUrl(QUrl("http://www.example.com"));
QNetworkReply *reply = manager->get(request);
connect(reply, &QNetworkReply::finished, [=]() {
if (reply->error() == QNetworkReply::NoError) {
// 请求成功
QByteArray data = reply->readAll();
// 处理返回的数据
} else {
// 请求失败
QString error = reply->errorString();
// 处理错误
}
reply->deleteLater();
});
发送POST请求的示例代码如下:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkRequest request;
request.setUrl(QUrl("http://www.example.com"));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QByteArray postData;
postData.append("param1=value1¶m2=value2");
QNetworkReply *reply = manager->post(request, postData);
connect(reply, &QNetworkReply::finished, [=]() {
if (reply->error() == QNetworkReply::NoError) {
// 请求成功
QByteArray data = reply->readAll();
// 处理返回的数据
} else {
// 请求失败
QString error = reply->errorString();
// 处理错误
}
reply->deleteLater();
});
在发送POST请求时,需要设置请求头的Content-Type为"application/x-www-form-urlencoded",并将参数以字节数组的形式传递给post()函数
原文地址: https://www.cveoy.top/t/topic/iCPk 著作权归作者所有。请勿转载和采集!