qt 封装发送请求接口

本文介绍了如何在QT中封装网络请求接口sendRequest,用于发送HTTP POST请求,并处理响应。该接口接受路径、JSON对象参数及回调函数,适用于进行注册等需要与服务器交互的场景。

until.h

#ifndef UTIL_H
#define UTIL_H


#include <QJsonObject>
#include <QJsonDocument>
#include <QNetworkAccessManager>
#include <QString>
#include <QMessageBox>
#include "def.h"


#include <functional>


extern QString session;
extern QString g_username;


void sendRequest(QString path,
                 QJsonObject json,
                 std::function<void(QJsonObject)> callback);


#endif // UTIL_H


until.cpp



#include "util.h"
#include <QNetworkReply>
#include <QNetworkRequest>


QString session;
QString g_username;


void sendRequest(QString path,
                 QJsonObject json,
                 std::function<void(QJsonObject)> callback)
{
    QNetworkAccessManager* man = new QNetworkAccessManager;
    if(session.length() > 0)
    {
        json.insert("session", session);
    }


    QNetworkRequest req;
    req.setUrl(QUrl(QString("http://%1:%2/%3").arg(SERVER_IP).arg(SERVER_PORT).arg(path)));
    req.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
    man->post(req, QJsonDocument(json).toJson());


    QObject::connect(man, &QNet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值