1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#include <QtGui>
#include <QtCore>
#include <QtDebug>
#include <QtNetwork>
#include "mainwindow.h"
//
MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f)
: QMainWindow(parent, f)
{
http = new QHttp(this);
setupUi(this);
connect(http, SIGNAL(requestFinished(int, bool)),this, SLOT(httpRequestFinished(int, bool)));
//connect(http, SIGNAL(dataReadProgress(int, int)),this, SLOT(updateDataReadProgress(int, int)));
connect(http, SIGNAL(responseHeaderReceived(const QHttpResponseHeader &)),this, SLOT(readResponseHeader(const QHttpResponseHeader &)));
connect(btsend, SIGNAL(clicked()),this, SLOT(downloadFile()));
}
void MainWindowImpl::downloadFile()
{
QUrl url(host->text());
http->setHost(url.host(), url.port() != -1 ? url.port() : 80);
http->setUser(url.userName(), url.password());
source = http->get(url.path());
httpRequestAborted = false;
//httpGetId = http->get(url.path(), file);
}
void MainWindowImpl::httpRequestFinished(int requestId, bool error)
{
if (error) {
resultat->setText("error");
} else {
resultat->setText(source);
}
}
void MainWindowImpl::readResponseHeader(const QHttpResponseHeader &responseHeader)
{
if (responseHeader.statusCode() != 200) {
resultat->setText("error");
httpRequestAborted = true;
http->abort();
return;
}
} |
Partager