1 【http】请求
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class QNetworkAccessManager;
namespace Ui {
class MyWidget;
}
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
~MyWidget();
private slots:
void on_pushButton_clicked();
private:
Ui::MyWidget *ui;
QNetworkAccessManager *nam;
};
#endif
#include "MyWidget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget w;
w.show();
return a.exec();
}
#include "MyWidget.h"
#include "ui_MyWidget.h"
#include <QNetworkRequest>
#include <QNetworkAccessManager>
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
nam=new QNetworkAccessManager(this);
}
MyWidget::~MyWidget()
{
delete ui;
}
void MyWidget::on_pushButton_clicked()
{
QUrl url(ui->lineEdit->text());
QNetworkRequest request(url);
nam->get(request);
}
2 【http】响应
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class QNetworkAccessManager;
class QNetworkReply;
namespace Ui {
class MyWidget;
}
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
~MyWidget();
private slots:
void on_pushButton_clicked();
void onReadyRead();
private:
Ui::MyWidget *ui;
QNetworkAccessManager *nam;
QNetworkReply *reply;
};
#endif
#include "MyWidget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget w;
w.show();
return a.exec();
}
#include "MyWidget.h"
#include "ui_MyWidget.h"
#include <QNetworkRequest>
#include <QNetworkAccessManager>
#include <QNetworkReply>
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
nam=new QNetworkAccessManager(this);
}
MyWidget::~MyWidget()
{
delete ui;
}
void MyWidget::on_pushButton_clicked()
{
QUrl url(ui->lineEdit->text());
QNetworkRequest request(url);
#if 0
nam->get(request);
#endif
reply=nam->get(request);
connect(reply,&QNetworkReply::readyRead,this,&MyWidget::onReadyRead);
}
void MyWidget::onReadyRead()
{
ui->plainTextEdit->appendPlainText(reply->readAll());
}