Pobieranie zawartości stron w pętli

0

Witam.

Napisałem prosty programik do pobierania zawartości stron HTML na podstawie url. Odbywa się to na zasadzie takiej, że w pliku głównym tworzę listę adresów url za pomocą której później wywołuję pobieranie danych ze strony odpowiednią metodą w pętli for.

 
#include <QtCore/QCoreApplication>
#include <downloader.h>
#include <QDir>

int main(int argc, char *argv[])
{
    QDir::setCurrent(QCoreApplication::applicationDirPath());
    QCoreApplication a(argc, argv);

    Downloader newDownloader;
    newDownloader.getConfiguration();

    foreach (QString im,newDownloader.urlList) {
        qDebug()<<"IM:"<<im;
        newDownloader.download(im);

    }
    return a.exec();
}

Metoda download() wygląda następująco:

 

void Downloader::download(QString im)
{

    http = new QHttp(this);
    connect(http,SIGNAL(stateChanged(int)),this,SLOT(stateChanged(int)));
    connect(http,SIGNAL(responseHeaderReceived(QHttpResponseHeader)), this,SLOT(responseHeaderReceived(QHttpResponseHeader)));
    connect(http,SIGNAL(requestFinished(int,bool)),this,SLOT(requestFinished(int,bool)));

    QUrl *tmpUrl = new QUrl(im);
    QString host = tmpUrl->host();
    QString path = tmpUrl->path();
    qDebug() << "Path:"<<path;
    qDebug() << "Hots:"<<host;
    http->setHost(host);
    http->get(path);
    contentFilePath = host + ".txt";


}

Wszystko działa ładnie pięknie, ale tylko dla ostatniego elementu podawanego w pętli for. Czyli zawartość strony ściąga się tylko dla ostatniego url. Czy ktoś wie dlaczego tak się dzieje ?

dzięki za odpowiedź.:)

0

Na prawdę nikt nie pomoże ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1