Qt发送HTTP请求
- 1、添加network模块
- 2、包含改头文件
- 3、创建网络访问管理器
- 4、创建接口
- 5、创建网络请求对象
- 6、创建一个回复对象,接收get请求
- 7、自定义槽函数
- 8、.h文件
- 9、.cpp文件
1、添加network模块
一定要记得在.pro文件里面添加network 模块 |

2、包含改头文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QDebug>
3、创建网络访问管理器
用QNetworkAccessmanager 创建一个网络访问管理器对象manager ,和连接网络网络完成时的信号与槽 |
QNetworkAccessManager *manager = new QNetworkAccessManager(this); connect(manager,&QNetworkAccessManager::finished,[](){qDebug() << "manager finish";
});
4、创建接口
QUrl urlweather("http://gfeljm.tianqiapi.com/api?unescape=1&version=v9&appid=63688735&appsecret=g9bIgc28");
5、创建网络请求对象
用QNetworkRequest 创建网络请求对象,设置接口 |
QNetworkRequest res(urlweather);
6、创建一个回复对象,接收get请求
用QNetworkReply 创建一个回复对象,接收get 请求,并连接请求完成时的信号与槽 |

reply = manager->get(res); connect(reply,&QNetworkReply::finished,this,&MainWindow::httpReply);
7、自定义槽函数

void MainWindow::httpReply()
{
QByteArray dataweather = reply->readAll(); qDebug() << QString::fromUtf8(dataweather) ;
}
connect(reply,&QNetworkReply::finished,this,&MainWindow::httpReply);
8、.h文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QNetworkReply>#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void httpReply();private:Ui::MainWindow *ui;QNetworkReply* reply;
};
#endif
9、.cpp文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QDebug>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);QNetworkAccessManager *manager = new QNetworkAccessManager(this); connect(manager,&QNetworkAccessManager::finished,[](){qDebug() << "manager finish";
}); QUrl urlweather("http://gfeljm.tianqiapi.com/api?unescape=1&version=v9&appid=63688735&appsecret=g9bIgc28"); QNetworkRequest res(urlweather); reply = manager->get(res); connect(reply,&QNetworkReply::finished,this,&MainWindow::httpReply); }MainWindow::~MainWindow()
{delete ui;
}void MainWindow::httpReply()
{
QByteArray dataweather = reply->readAll(); qDebug() << QString::fromUtf8(dataweather) ;
}
以上就是Qt实现HTTP请求的的整个过程了,浏览过程中,如若发现错误,欢迎大家指
正,有问题的可以评论区留言或者私信。 最后,如果大家觉得有所帮助的话,可以点个
赞,谢谢大家!愿大家多喜乐,长安宁! |
Qt实现HTTP请求完成!