download einer Internetseite ohne filename

AndreasJ

Grünschnabel
Hallo zusammen

Ich möchte Webseiten aus dem Internet als Dateien laden, und zwar mit allem PiPaPo, also referer, password, cookies, post-Information etc. Nun gut, solange es http-Protokoll ist, geht das über HttpOpenRequest prima... aber nur, solange ich einen Filenamen angeben kann.

Versuche ich hingegen zum Beispiel "http://www.google.de" zu laden bzw. eine beliebige php-Seite, dann versagt der Mechanismus total.

Habt Ihr ne Idee, wie ich auch solche Dateien laden kann?
 
Im HTTP muss man immer angeben, welche Datei man haben will. Da reicht eine Domain wie google.de nicht aus, denn da ist ja keine Datei spezifiziert. Wenn man also in den Browser "www.google.de" eingibt, baut der Browser die Verbindung auf und macht diese HTTP-Request:

GET /

Es wird also das Hauptverzeichnis angefordert. Welche Datei da zurückgeliefert wird, bestimmt die Konfiguration des Servers. Bei manchen wird eine index.html zurückgegeben, bei anderen eine index.php -- je nachdem.

Mir ist nicht klar, was du meinst mit: "eine beliebige php-Seite". Was genau ist das Problem?

-Gawayn
 
Mir ist nicht klar, was du meinst mit: "eine beliebige php-Seite".

Nun, damit meine ich eben eine beliebihe php-Seite, wie zum Beispiel http://www.tutorials.de/newreply.php?do=newreply&noquote=1&p=1196330. Auch diese wird anscheinend nicht als Datei anerkannt, gibt jedenfalls eine Fehlermeldung zurück, so als hätte ich gar keine Datei angegeben.

Deine Erklärung gibt mir zwar etwas mehr Verständnis, hilft aber beim Problem leider nicht weiter. Du sagst doch im Prinzip, dass ich für meine Aufgabenstellung (http://www.google.de) keine http-requetst verwenden darf.

Ich bin inzwischen auch umgeschwenkt und verwende nun stattdessen InternetOpenUrl, welche mit beiden Problemfällen (Filenamenlos bzw. php) gut klarkommt. Den Referer bastele ich mir von Hand und übergebe ihn in den Headers, was auch ganz gut klappt. Nur für die anderen Parameter habe ich noch nichts gefunden. Also Login, Passwort und post-Information.

Und was cookies angeht habe ich noch überhaupt keine Vorstellung, wie diese von der Seite angefragt oder gesetzt werden, bzw. wie ich diese empfangen, verwalten und zurückgeben kann.
 
Deine Erklärung gibt mir zwar etwas mehr Verständnis, hilft aber beim Problem leider nicht weiter. Du sagst doch im Prinzip, dass ich für meine Aufgabenstellung (http://www.google.de) keine http-requetst verwenden darf.
Nein, das sage ich keineswegs! Ich wollte sagen, wie der Request aussehen muss. Du musst eine Verbindung zu google.de aufbauen und dann die Request "GET /" senden. Das natürlich verpackt in eine vernünftige HTTP-Anfrage, also z.B.:
Code:
GET / HTTP/1.1
Host: blalbababa
Der Server antwortet dann erst, nachdem eine Leerzeile gesendet wurde.

Wenn du jetzt eine PHP-Seite willst, ist es dasselbe. Es ist ja egal, was man da anfordert -- es handelt sich in jedem Fall um Daten, die Endung der Datei ist lediglich für den Server wichtig! Die PHP-Seite forderst du also genauso an:

Code:
GET newreply.php?do=newreply&noquote=1&p=1198058 HTTP/1.1
Host: blablabla
Und das war's. Wenn dein Netzwerkcode stimmt, müsste der Server darauf antworten.

-Gawayn
 
Zurück