Bild von einer Passwortgeschützten Seite auf Webspace speichern

Schönen guten Tag.
Wie der Titel schon sagt möchte ich ein Bild von einer mit einem Login geschützten Seite via PHP Scrip herunter laden und in einem bestimmten Ordner Speichern.

Bevor jetzt irgendjemand mit Bilderklau um die Ecke kommt: Das ganze läuft via xampp nur auf meinem Rechner und ist von Außerhalb nicht zu erreichen. Ich habe auch einen Login für die Seite von der ich das Bild will. Ich bin nur zu faul mir jedes Bild einzeln aufzurufen und zu speichern, da es schon einige mehr sind die ich herunter laden möchte.

Ich hab es bereits mit file_get_contents() + file_put_contents() versucht, klappt soweit auch. Nur das immer das gleiche bild herunter geladen wird. Eines in dem steht das ich mich Registrieren soll um das eigentliche Bild zu sehen. Jetzt wollte ich wissen wie ich mich mit dem PHP Script einloggen kann um das eigentliche Bild herunter laden zu können.

Hallo fadesocke,

wenn das komplett lokal läuft, lad die Bilder einfach aus dem lokalen Dateisystem an die Stelle wo du sie haben willst?

Ansonsten wende dich einfach an den Webmaster der Webseite wo die Bilder liegen. Man wird dort sicher gern ein Paket mit den gewünschten Bildern als ZIP-Datei zusammenstellen, gegen angemeßene Vergütung.

Alles andere könnte illegal sein nach §95a Urheberrechtsgesetz. Ich bin kein Jurist, bin aber lieber zu vorsichtig als nicht vorsichtig genug.

Technisch möglich ist das natürlich, aber ich würde dir dringend nahe legen, eine rechtlich absolut saubere Methode vorzuziehen.

Viel Erfolg bei den Verhandlungen!

Danke erstmal für die Schnelle Antwort.
An den Webmaster wenden wird da nichts bringen, da ich sowieso schon einen Monatlichen Beitrag Zahle und es sich um ein paar Tausend Bilder handelt.

Ich hab auch schon etwas mit cURL herum experimentiert, allerdings auch ohne Erfolg. Ich muss aber dazu sagen das ich mich damit nicht besonders gut auskenne.

Eventuell stellt dir die Seite auf Anfrage und gegen angemeßene Vergütung diese Bilder auf DVD oder sowas zur Verfügung.

Ich nehme fast an, dass das automatische Herunterladen der Bilder neben den Gesetzen auch von den AGB des Seitenbetreibers ausgeschlossen wird.

Ich werde dich nicht dabei unterstützen. Tut mir leid.

Wende dich an den Seitenbetreiber, oder lass es besser sein, das ist wohl der beste Rat den ich dir geben kann.

Hallo, sorry da habe ich keinen Plan wie man sowas umsetzen könnte.

Was ich schon mal gemacht habe, war ein automatisches Login mit iMacro, das kann man im Prinzip aufzeichnen, während man klickt.

Hallo Socke :smile:

Um von einem „geschützten Bereich“ Informationen runter zu laden, musst du dich vorher per PHP auf der Seite einloggen.

Dafür musst du rausfinden welche „login“ Authentifizierung es auf der Seite gibt.

Eine Auth-Methode über den Server könnte z.B. die Http-Basic-Auth sein.

Dann kannst du dich relativ einfach über php-curl auf der Seite einlogen, indem du die jeweiligen Optionen beim Request mit schickst.

Schau dir dafür am besten mal die Doku zu php Curl an:
http://php.net/manual/de/function.curl-setopt.php

Komplizierter könnte es werden, wenn die Authentifizierung einprogrammiert wurde. Dann wirst du in der Regel über Cookies & Session einmal eingelogt (in der Regel über eine login.php oder ähliches) und in der Session gespeichert, dass du eingelogt bist. Das kannst du aber auch über Curl „simulieren“

Etwas einfacher/konfortabler kannst du es evtl über so genannte „Webbrowser-Simulationen“ für PHP nutzen. Z.b. Guzzle ( http://guzzlephp.org/ )

Grüße
Frank

Hallo,

wie in einer der Antworten bereits beschrieben geht soetwas über CURL - man simuliert mit PHP quasi einen Browserzugriff und „tut so“ als wenn sich ein Mensch einloggt.

Dafür muss natürlich die gesamte Logik nachgebaut werden (Login, Session-Handling, Cookies, ggf. Javascript etc.)
siehe http://www.php.net/manual/de/ref.curl.php

Komplizierter wird es eigentlich nur wenn Javascript auf der Seite eingesetzt wird, alles andere sollte relativ einfach sein.

Hi,

da fehlen ein paar Infos um wirklich helfen zu können. Wie genau ist denn die Seite geschützt, htaccess einfache PW Eingabe, Session?
Auch verstehe ich das Problem nicht ganz, wenn doch die Dateien auf dem eigenen Webserver laufen wäre es doch viel einfacher die Bilder direkt von der Platte zu holen oder den Login einfach abzuschalten.

Viele Grüße

Christoph

Hmm, ich verstehe jetzt den Sinn dahinter nicht so ganz. Wenn das alles auf XAMPP läuft, hast du die Dateien doch sowiso schon auf deiner Festplatte und kannst sie ganz normal im Explorer an den gewünschten Ort kopieren.

Oder ist das ein Experiment und es geht nur drum „ob man es hinbekommt“?

Also wenn die Webseite Passwortgeschützt ist, musst du dich natürlich irgendwie authentifizieren.

Kannst du evtl. den Quelltext vom Loginformular schreiben? Dann könnte man u. U. mal schauen, was da für Variablen verwendet werden, bzw. was da so im Hintergrund abläuft.

Hallo:

$bild=file_get_contents(‚http://benutzername:[email protected]/bild.png‘);

file_put_contents(‚lokal/bild.png‘,$bild);

Grüße

Hallo:

$bild=file_get_contents(‚http://benutzername:stuck_out_tongue:asswort @ example.com/bild.png‘);

hm, schreibt es nicht richtig:

benutzername:stuck_out_tongue:asswort @ example.com/bild.png (ohne Blank vor und nach @)

file_put_contents(‚lokal/bild.png‘,$bild);

Grüße

Hallo Fadesocke,
es kommt darauf an, wie der Login-mechanismus gestaltet ist.

Bei HTACCESS-Schutz könntest Du den Link zum Bild wie folgt aufrufen:
http://username:stuck_out_tongue:asswort@server/pics/bild17.jpg

Wenn es ein eigener Passwortschutz ist, musst Du rausfinden, welches Target das Login-Formular aufruft und dem die passenden POST/GET-Variablen übergeben.

Alles ziemlich vage, da ein greifbares Beispiel fehlt. Aber vielleicht hilft es trotzdem weiter.

Viele Grüße,
Markus Seifert

Warum kompliziert wenns auch einfach geht:
ruf jedes Bild auf und kopiere es einzeln oder versuche es via FTP z.b. Filezilla.

Du sagtst er ist von aussen nicht zu erreichen aber du koenntest die Bilder einzeln abrufen? ALso ist er doch zu erreichen oder wie?