参考博客:QT开发(八)—— Network网络操作,本地HOST,GET请求_刘桂林的博客-CSDN博客_qtnetwork
Qt:60---网络编程之HTTP通信(QNetworkRequest、QNetworkReply、NetworkAccessManager)_董哥的黑板报-CSDN博客
Qt学习笔记一:Qt使用network模块进行http请求时获取response中的http状态码_chexiaohui6306的博客-CSDN博客
一、开始进行使用网络通信的时候,需要在qt的pro中加入network
QT += core gui network
二、就需要我们开始进行ip地址、端口号等
注意这边的发送数据,先进行设置url,然后再进行发送,如:
void MainWindow::getNetData()
{
//设置url的请求
QNetworkRequest request;
request.setUrl(QUrl("http://gank.io/api/data/Android/10/1"));
//发送信息,发送http的请求
_replyread= QSharedPointer<QNetworkReply>(_manager->get(request));
}
三、读的时候,借助&QIODevice::readyRead信号来进行读取数据,当断开连接时,会捕获到信号
finished()
四、 读数据
QString reply_str = QUrl::fromPercentEncoding(_replyread->readAll());
这个_replyread是需要接收远程服务器的返回数据,调用的类是:QNetworkReply
这个就需要在.h文件中进行定义:
QSharedPointer<QNetworkReply> _replyread;
这个_manager也是调用的http模块需要在.h中进行定义:
QSharedPointer<QNetworkAccessManager> _manager;
在.cpp中进行初始化:
_manager = QSharedPointer<QNetworkAccessManager>(new QNetworkAccessManager(this));