ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
2732
2732
EMPFEHLEN
-
Hallo,
ich versuche grade eine Datei mit Hilfe von QT und deren QHttp-Klasse herunterzuladen. Das kompilieren funktioniert einwandfrei jedoch erhalte ich immer einen Fehler. Hier erstmal der Code:
Code :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
#include "HTTPH.h" #include <iostream> #include <QtGui> using namespace std; HTTPH::HTTPH(const QString& strurl,QWidget* parent):QObject(parent) { url=new QUrl(strurl); http=new QHttp(this); file=new QFile(this); connect(http, SIGNAL(requestFinished(int, bool)),this, SLOT(httpRequestFinished(int, bool))); } HTTPH::~HTTPH() { delete http; delete file; delete url; } void HTTPH::download(const QString& fn) { file->setFileName(fn); file->open(QIODevice::WriteOnly); http->setHost(url->host()); http->get(url->path(),file); file->close(); } void HTTPH::httpRequestFinished(int id,bool error) { cout<<"Host:\t"<<url->host().toAscii().constData()<<endl; cout<<"Path:\t"<<url->path().toAscii().constData()<<endl; cout<<"ID:\t"<<id<<endl; if(error) cout<<"ERROR:\t"<<http->error()<<" "<<http->errorString().toAscii().constData()<<endl; }
Wenn ich jetzt die Funktion download() aufrufe, bekomme ich folgende Konsolenausgabe:
Host: www.trolltech.com
Path: /index.html
ID: 1
ERROR: 7 Request aborted
Kann mir jemand sagen, wieso der den Request abbricht?
Gruß
cesupa
-
22.02.08 15:01 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Das liegt daran, weil du ihm die Datei "unter'm Hintern weg ziehst". Die Operation get() blockiert nicht kehrt sofort zurück. Wenn dann irgendwas runtergeladen wird, wird nur festggestellt das die Datei geschlossen ist... Es ist erst in Ordnung die Datei zu schließen wenn das requestFinished() Signal gesendet wurde.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hallo,
also ich lass die Datei jetzt im httpRequestFinished()-Slot schließen, jedoch kommt der gleiche Fehler immer noch.
Gruß
cesupa
-
Okay, ich habs jetzt hingekiregt. Problem war, dass ich in der main ein neues Objekt meiner Klasse erstellte, die Anfrage gesendet habe und dann das Objekt wieder gelöscht habe. Tja, und da ja nichts blockiert....kann's ja nicht funktionieren

Danke, dass du mich daruaf gewissermaßen hingewiesen hast
Gruß
cesupa
Ähnliche Themen
-
Http-request ?!
Von mIschKo im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 03.10.07, 18:32 -
HTTP Request
Von MagicEpox im Forum Sonstige SprachenAntworten: 2Letzter Beitrag: 02.08.07, 14:08 -
Http Request
Von NanoNuna im Forum PHPAntworten: 2Letzter Beitrag: 02.04.07, 10:55 -
HTTP Request
Von e2r im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 2Letzter Beitrag: 07.02.07, 18:38 -
Http - Request
Von rauchmelder im Forum .NET ArchivAntworten: 2Letzter Beitrag: 04.12.04, 22:42





Zitieren
Login






