QT Http的简单使用
.h文件
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QNetworkRequest> #include <QNetworkReply> #include <QNetworkAccessManager> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void sendData(); private slots: void replyFinished(QNetworkReply*); private: Ui::MainWindow *ui; QNetworkAccessManager *manager; QNetworkReply *reply; QNetworkRequest request; }; #endif // MAINWINDOW_H
.cpp文件
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //新建一管理器 manager = new QNetworkAccessManager(); sendData(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::sendData() { //伺服参数 request.setUrl(QUrl("网址")); QByteArray postData="要发送的数据"; int postlenth = postData.length(); //发送post请求 request.setHeader(QNetworkRequest::ContentTypeHeader,"application/json"); request.setHeader(QNetworkRequest::ContentLengthHeader,postlenth); reply = manager->post(request,postData); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); } void MainWindow::replyFinished(QNetworkReply* reply) { QByteArray data = reply->readAll(); ui->textEdit->setText(data); }