habe ein kleines Problem. Wollte ein kleines Tool schreiben, dass diverse URLs eines Anbieters in unterschiedlichen Ländern ansurft, die Seite für einen entsprechenden Artikel lokal abspeichert, so dass ich aus dem HTML-Code die Preise auslesen kann und so den günstigsten raussuchen kann. Folgenden Code habe ich:
Code: Alles auswählen
void MainWindow::submitSlot()
{
QString nr, fileName, iString;
QString url[3];
connect(&http, SIGNAL(requestFinished(int, bool)), this, SLOT(requestFinishedSlot(int, bool)));
nr=this->artNrLineEdit->text();
nr="/xxxx.php?product_code="+nr;
url[0]="www.xxxx.net";
url[1]="www.xxxx.com";
url[2]="www.xxxx.nl";
for (int i=0; i<=2; i++)
{
fileName="source"+iString.setNum(i)+".txt";
getSource(url[i], fileName, nr);
}
}
void MainWindow::getSource( QString url, QString fileN, QString nrString )
{
file.setName(fileN);
if (!file.open(IO_WriteOnly ))
{
return;
}
int id1 = http.setHost(url, 80);
int id2 = http.get(nrString, &file);
file.close();
}
void MainWindow::requestFinishedSlot( int id, bool error )
{
http.closeConnection();
//http.abort();
}
Im Moment läuft es so: Ich tippe sozusagen auf SUBMIT und auf der Platte füllt sich das letzte File langsam mit Inhalt. Ich bräuchte natürlich auch irgendwie einen Handler, der so lange mit der Weiterführung wartet, bis ich weiss, dass jedes File fertig heruntergeladen wurde bzw. ein Timeout gekommen wäre. Muss nicht perfekt sein, ist ja mehr zum Eigengebrauch. Kann mir jemand einen Tipp geben? (QT 3.2.3)