QT-发送HTTP请求/QNetworkAccessManager

本文使用QT发送一个媒体类型为application/json的post请求,步骤如下:

1.首先创建一个QNetworkAccessManager类,并设置url和请求参数
2.发送请求,发送之后会返回一个QNetworkReply对象的指针
3.调用connect函数创建一个信号槽,信号为QNetworkReply::finished,槽为我们自己的代码

main.cpp

int main(int argc, char *argv[])
{
   
    QApplication a(argc, argv);
    MainWindow w;
    // w.show(); 本文仅用于演示在QT Creator中发送http post,所以不显示GUI界面
    return a.exec();
}

mainwindows.cpp 在mainwindows.cpp中写发送的代码主要是为了使用connect函数

#include <QDebug>
#include <QComboBox>
#include <QNetworkRequest>
#include <QNetworkAccessManager>
#include <QUrl>
#include <QtNetwork>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
   
    // ui->setupUi(this);本文仅用于演示在QT Creator中发送http post,所以不显示GUI界面
    // 创建QNetworkAccessManager类,并设置url和请求参数
    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
    QUrl url("http://localhost:8080/test/bb");
    QNetworkRequest request(url);
    request.setRawHeader("Content-Type", "application/json");
    QByteArray postData;
    postData.append("{\"descript\": \"我爱武汉汉阳的妹子\"}");
	// 发送请求,发送之后会返回一个QNetworkReply对象的指针
    QNetworkReply *reply = manager->post(request, postData);
    // 调用connect函数创建一个信号槽,自己设置回调函数
    connect(reply, &QNetworkReply::finished, this, [=]() {
   
        if (reply->error() == QNetworkReply::NoError) {
   
            QByteArray data = reply->readAll();
            qDebug()<<data;
        } else {
   
            qDebug()<<"处理错误";
        }
        reply->deleteLater();
    });
}

相关推荐

  1. QT-发送HTTP请求/QNetworkAccessManager

    2024-01-13 17:10:02       36 阅读
  2. RestTemplate发送https请求

    2024-01-13 17:10:02       39 阅读
  3. Linux发送HTTP请求

    2024-01-13 17:10:02       14 阅读
  4. QTQNetworkAccessManager

    2024-01-13 17:10:02       32 阅读
  5. linux发送http请求命令

    2024-01-13 17:10:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 17:10:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 17:10:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 17:10:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 17:10:02       20 阅读

热门阅读

  1. 案例分享:游戏行业各岗位的KPI绩效指标制定

    2024-01-13 17:10:02       38 阅读
  2. 银行网络安全数字化挂图作战体系建设

    2024-01-13 17:10:02       35 阅读
  3. 欢迎关注我的公众号

    2024-01-13 17:10:02       35 阅读
  4. linux离线安装git

    2024-01-13 17:10:02       36 阅读
  5. 09-资源隔离:为什么构建容器需要 Namepace ?

    2024-01-13 17:10:02       30 阅读
  6. LeetCode1124. Longest Well-Performing Interval

    2024-01-13 17:10:02       30 阅读