HTML-Seite aus dem Internet downloaden!
-
Hey Jungs und Mädels(?),
mich interessiert, wie ich eine Seite/Datei von einem Webserver herunterladen kann in C/C++. Ich habe schon ziemlich viel gesucht, auch schon in anderen Foren, allerdings habe ich irgendwie noch nichts passendes gefunden. Ich habe es auch schon hinbekommen mit dem erstellen eines .vbs-Scripts, aber das ist nicht so schön und vorallem braucht man dazu zu viele andere Dateien. Die andere Möglichkeit, nämlich n Shellexecute auf ne HTTPGET.exe, tut auch, aber wie gesagt... es muss doch auch ohne dreitte Programme gehen
Danke für eure Hilfe.
Cya Moe
-
Informier dich über Sockets (je nach Plattform) und das HTTP Protokoll.
grüße
-
Hab sowas zwar fertig irgendwo rumliegen, aber wir wollen hier ja nicht komplette Lösungen verteilen.

Erstmal beschäftigst du dich mit der Socketprogrammierung und dann solltest du dir ansehen wie HTTP funktioniert:
http://www.google.de/search?q=Socketprogrammierung+C%2B%2B
http://www.ietf.org/rfc/rfc2616.txtVielleicht hilft dir auch das hier ein wenig weiter:
http://www.fh-wedel.de/~bek/c/praktika/seminar-iaws0506.html
Da findest du eine GET-Anfrage die du an den Server senden musst, anschließend musst du mit recv (s. Socketprogrammierung) die Antwort lesen.Hoffe das hat geholfen.
-
nimm lbicurl:
http://curl.haxx.se/
-
Grml, ok, befass' ich mich damit :P:P:P Nein, SPaß bei Seite. Hab noch n bissle weitergesucht und herausgefunden, dass das wohl irgendwie auch ohne direkte Socket-Programmierung gehen muss. (An der soll's net scheitern, ich hab mir grad n kleines Chat-Programm geschrieben... also als Grundlage sollte das reichen).
Was haltet ihr davon? Ich hab halt nur noch eine Millionen Linker-Fehler...#include <cstdlib> #include <windows.h> #include <Wininet.h> #include <iostream> using namespace std; void getit(); int main() { getit(); getchar(); return 0; } void getit() { char output[5000]; //Hier steht nachher der Inhalt der Datei... oder auch nicht ;) HINTERNET hInternetBr =InternetOpen( "Moe's 1337-Browser", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);; HINTERNET hFile; //<-- kP, was das fürn Datentyp ist, bitte, klärt mich auf! hFile = InternetOpenUrl( hInternetBr, "http://mitglied.lycos.de/kampfhasenkiller/index.html", NULL, 0, INTERNET_FLAG_NO_CACHE_WRITE, 0); while(1) { char buffer[100]; DWORD ReadSize=1; ReadSize = 1; bool bResult = InternetReadFile( hFile, buffer, 1, &ReadSize); if(bResult && (ReadSize == 0)) break; buffer[ReadSize] = '\0'; strcat(output,buffer); } InternetCloseHandle(hFile); InternetCloseHandle(hInternetBr); cout<<output; }
-
Hab's mir jetzt nicht angesehen, aber du musst gegen die wininet.lib linken.
Greetz, Swordfish
-
... danke, man. Wenn du mal herkommst, küss ich dir deinen Arsch! *fg*
Könnt das zumachen^^
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.