QT 发送http请求及处理

来源:互联网 发布:sql语句编写技巧 编辑:程序博客网 时间:2024/05/22 03:38

1)http请求数据组装及发送至服务端

void XXXX::postMsg(QString url, QByteArray data)
{
QNetworkRequest request;
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QUrl u = QUrl(QString("%1%2%3").arg(hostUrl).arg(basePath).arg(url));
request.setUrl(u);
manager.post(request, data);
}

2)请求返回处理函数

void X'X'XX::on_networkFinished(QNetworkReply *replys)
{
QByteArray byte_array = replys->readAll();
QJsonObject json_object = QJsonDocument::fromJson(byte_array).object();
int code = json_object.value("code").toInt();
QString msg = json_object.value("msg").toString();
if (code != 0)
{
QMessageBox msgBox;
msgBox.setText(msg);
msgBox.setWindowTitle(QStringLiteral("登录"));
msgBox.exec();
return;
}
QUrl url = replys->request().url();
QString path = url.path().right(url.path().length() - basePath.length());
if (path.compare(PATH_LOGIN) == 0)
{

}
}

3)槽函数信号关联

connect(&manager, SIGNAL(finished(QNetworkReply*)), SLOT(on_networkFinished(QNetworkReply*)));


原创粉丝点击