QT学习笔记之QT使用http协议

来源:互联网 发布:大数据调查问卷模板 编辑:程序博客网 时间:2024/05/01 17:31

写在前面

http协议在软件设计的过程中占有很重要的地位,在一般的面试中也会经常被问到,下面简单介绍http协议的使用:

使用方法

首先贴上代码:

毕竟本人才刚开始学,下面的注视只是自己的一些拙见,日后学的深入会逐渐纠正。

 QNetworkAccessManager *manager = new QNetworkAccessManager();//实例化类   可以理解为整个http响应的控制者        QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));//实例化类  用于确定响应的地址        QByteArray responseData;//定义数据        QEventLoop eventLoop;        connect(manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));//信号槽        eventLoop.exec();       //block until finish        responseData = reply->readAll();//读取返回数据        return QString(responseData);//返回数据

有了这些基础的知识就可以完成这部分的代码了:

HTTP_Test01::HTTP_Test01(QWidget *parent)    : QMainWindow(parent){    ui.setupUi(this);    this->setWindowTitle("Http 下载器");    manager = new QNetworkAccessManager(this);    this->connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(showTextFromWeb(QNetworkReply*))); //QNetworkAccessManager请求完数据时开始响应    this->connect(ui.showWeb, SIGNAL(clicked()), this, SLOT(showText()));  //用于动态的确认需要响应的网址}void HTTP_Test01::showText(){    QString url = ui.URL_EditText->text();    reply = manager->get(QNetworkRequest(QUrl(url)));}void HTTP_Test01::showTextFromWeb(QNetworkReply* reply){    QString text(reply->readAll());    ui.webText->setText(text);    reply->deleteLater();}

效果如图:
这里写图片描述

1 0