HTTP/定义的请求方法有8种:GET(完整请求一个资源)、POST(提交表单)、PUT(上传文件)、DELETE(删除)、PATCH、HEAD(仅请求响应首部)、OPTIONS(返回请求的资源所支持的方法)、TRACE(追求一个资源请求中间所经过的代理)。最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。
class HttpRequest :public QObject
{
Q_OBJECT
public:
HttpRequest();
~HttpRequest();
private:
QString m_sValue;
public:
QNetworkRequest requerst;
QNetworkReply* reply;
public:
void PostData();
void Post(QString http,QString str);
}
void HttpRequest::PostData(QString http,QJsonObject obj)
{
NetworkAccessManager* pNaManage = new NetworkAccessManager;
request.setUrl(QUrl(http));
request.setHeader(QNetworkRequest::ContentTypeHeader,QVarial("application/json"));
QString testData = QJsonDocument(obj).toJson(QJsonDocument::Compact);
reply = pNaManage->post(request,testData.toUtf8());
connect(pNaManage,&QNetworkAccessManager::finished,[=](QNetworkReply* reply)
{
QString str = QString(reply->readAll());
})
}
void HttpRequest::Post(QString http,QString str)
{
NetworkAccessManager* NodePost = new NetworkAccessManager;
request.setUrl(QUrl(http));
request.setHeader(QNetworkRequest::ContentTypeHeader,QVarial("application/json"));
QString sNode = str;
reply = NodePost->post(request,sNode.toUtf8());
connect(NodePost,&QNetworkAccessManager::finished,[=](QNetworkReply* reply)
{
QString str = QString(reply->readAll());
emit SendData(str);
})
}
本文介绍HTTP请求方法,并详细展示如何使用Qt进行网络编程实现POST请求,包括设置URL、请求头及发送JSON数据。
108

被折叠的 条评论
为什么被折叠?



