Download
lima-city → Forum → Programmiersprachen → C/C++ und D
bibliothek
code
compiler
datei
direkt fangen
file
frage
host
http
korrektur
null
port
praxis
protokoll
regel
simple http
telnet
theorie
url
ziel
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Um welches Protokoll geht es überhaupt? HTTP? Für die gängigen Protokolle gibt es Bibliotheken, die dir die entsprechende Funktionalität zur Verfügung stellen.
So etwas von Grund auf neu zu programmieren ist wahrscheinlich zu aufwendig. Näheres findest du dazu hier:
http://zotteljedi.de/socket-tipps/index.html
Und wäre auch gut zu wissen, unter welchen Betriebssystemen das ganze laufen soll.
Beitrag zuletzt geändert: 10.6.2012 10:32:22 von bladehunter -
https://www.google.com/search?hl=en&q=c%2B%2B+file+downloader&aq=1&oq=C%2B%2B+file+down
Hast wohl falschen Suchbegriffe eingegeben.
Nehme an das eher sowas sucht wie:
http://www.digitalcoding.com/Code-Snippets/CPP-CLI/C-CLI-Code-Snippet-Download-File-from-URL.html
http://www.codeproject.com/Articles/15227/UI-for-Simple-HTTP-File-Downloader
Sogar mit Demo Projekt :P
@ Ftools wie lang programmierst denn schon?
Welchen Compiler benutzt eigentlich insofern man fragen darf?
Dat simpelste is wohl
void Download() { char sysdir[MAX_PATH] = {0}; char Path[MAX_PATH] = {0}; GetWindowsDirectory(sysdir, MAX_PATH); sprintf(Path,"C:\\xyzblahh.pdf",sysdir); URLDownloadToFile(NULL, "http://blaaaah.com/xyzblahh.pdf", Path, 0, NULL); return; }
Öhh Ps.: Deine Image Seite unterstützt keine ".png's?" :(
Beitrag zuletzt geändert: 10.6.2012 11:14:14 von melancholiegift -
Öhm, du bist ja mal direkt. Fangen wir mal bei der Theorie an, denn die Praxis ist dannach eigentlich leichter, wenn man die Mittel hat.
An sich musst du einen Socket mit einer gültigen Verbindung öffnen zu deinem Ziel, dann das Ziel komplett Lesen, wenn es dann fertig gelesen ist entsprechend abspeichern und den Socket schließen. Wenn ich nicht falsch liege ist das alles, was du tun musst.
In der Praxis sind das aber oft mehr als 5 Codezeilen. In der Regel bedient man sich dazu auch einer Bibiliothek, ich persönlich mag Qt sehr gerne, hier würd ich des ungefähr so lösen:
QString host = "www.example.com/download.exe"; int port = 80; QSocket *socket = new QSocket(); socket->connectToHost( host , port ); QByteArray result; if ( socket->state() == QSocket::Connected ) { while ( socket->canReadLine ) { result.append( socket->readLine() ); } } socket->close();
Und damit solltest du nun in einem QByteArray deine runtergeladene Datei haben. Eigentlich, wenn ich mich nciht verdacht habe, oder Fehler gemacht habe. Ich habe damit ne Weile schon nichtmehr gearbeitet, doch das Prinzip sollte ok sein, sonst bitte ich um Korrektur.
Es kommt jetzt aber drauf an, ob du Qt überhaupt benutzt. Es gibt ja viele Libs, und in wxWidgets, WinAPI oder .Net wird das sicher anders gehen.
Liebe Grüße -
Danke für eure Hilfe!
-
Hmm
@ Ftools wie lang programmierst denn schon?
Welchen Compiler benutzt eigentlich insofern man fragen darf?
& öhm, was hat dir denn nun geholfen, hast es hinbekommen, hast gefunden nach was du gesucht hast, zeig uns doch mal was letztenendes dabei rauskam?!..
Ist ja schlimm ^^, die leuts fragen immer schreiben aber irgendwie nie was letztenendes drauraus wurde. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage