QNetworkAccessManager,QNetworkRequest,QNetworkReply 这三个类是Qt在网络访问比较常用的类
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
// 发送给登录服务器(发http--> qt网络访问库)
QNetworkAccessManager m_access_msg;
QNetworkRequest req(QUrl("http://10.0.0.1:9988/login/"));
req.setHeader(QNetworkRequest::ContentLengthHeader,output.size());
req.setHeader(QNetworkRequest::ContentTypeHeader,"application/json");
m_access_msg.post(req,output.toUtf8());
// 异步处理服务器的回复(connect 服务器回复和回复的处理函数)
connect(m_reply,&QNetworkReply::finished,this,&Widget::proc_login_reply);
void Widget::proc_login_reply()
{
// 判断登录结果
QJsonDocument json_doc = QJsonDocument::fromJson(m_reply->readAll());
QJsonObject json = json_doc.object();
if("OK" == json["login_result"].toString()){
qDebug()<<"login success";
}else{
QMessageBox::information(this,"登录信息","用户名或密码错误");
}
}