Script zum HTML-Download (mit Formular)

C

chri9u

Greenhorn
Hi @all

Ich möchte ein Script zum Download von HTML-Seiten erstellen. Das Problem ist jedoch, dass man sich auf dieser Seite zuerst anmelden muss (die Anmeldung funktioniert mit POST, die Felder heissen 'nickname' und 'password'). Natürlich habe ich bereits per Google gesucht und schon viel probiert. Bisher versuchte ich es, per 'wget' oder 'curl' zu realisieren.
Kennt da jemand eine Lösung?

MfG,
Christoph
 
Dann wird auch das folgende bei dir stehen ;)
Code:
{-basti-|-firefly-} => [~]
(21:55:58) ls -al /bin/sh
lrwxrwxrwx 1 root root 4 2008-01-09 23:47 [COLOR="Cyan"]/bin/sh[/COLOR] [COLOR="Red"]->[/COLOR] [COLOR="Lime"]dash[/COLOR]

Folglich nutzt du die dash (ist bei Ubuntu eigentlich normal, aber lieber noch mal mit dem oben genannten Befehl testen ;) )
 
stimmt so:

Code:
chrigu@chrigu-laptop:~$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 2007-10-21 16:52 /bin/sh -> dash

thx für die Hilfsbereitschaft :)

MfG
 
Was waren deine Versuche mit wget?

Beispielsweise mit wget:
Code:
wget --http-user=username --http-passwd=password "http://<URL>'

Gruß Wolfgang
 
Die Frage ist, wie das Script funktioniert das das Formular weiterverarbeitet.
wenn die abgesendete URL z.B. ist: http://yourdomain.de/auswertung.php?username=yourname&password=yourpassword, dann wären die variablen ja $_REQUEST['username'] und $_REQUEST['yourpassword']
Es gibt tools mit denen man in z.B. Fiorefox diese Felder noch nachträglich verändern kann, vielleicht kann das auch dein downloadmanager. aria2c kann z.B. auch was mit cookies machen vielleicht ist das etwas was du brauchst
 
Hallo
Für Postdaten kennt wget die Option: --post-data
Code:
wget --post-data ’username=foo&password=geheim&moredatefield=bar' "http://foo.bar/"

Wolfgang
 
wenn die abgesendete URL z.B. ist: http://yourdomain.de/auswertung.php?username=yourname&password=yourpassword, dann wären die variablen ja $_REQUEST['username'] und $_REQUEST['yourpassword']

nein, die Daten werden per $_POST['...'] geholt (die oben erwähnte POST-Methode). Ich weiss, dass ich mit wget POST-Variablen übergeben kann, nur möchte ich anschliessend das Ergebnis direkt downloaden.

MfG

EDIT: Der obige Beitrag wurde zur gleichen Zeit erstellt. Merci.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

So. Ich habe jetzt endlich eine Lösung gefunden. Das heisst, ich habe den HTTP-Request falsch geschrieben...

Code:
curl -d "action=login&target=-&nickname=NICKNAME&password=PASSWORD" -c "cookies.txt" "URL"
curl -b "cookies.txt" "URL" -o "output.htm"

Der erste Befehl meldet mich auf einer Seite an und generiert ein Cookie, mit dem zweiten werden die Seiten herunter geladen (sendet Cookie).

Vielen Dank,
MfG,
Christoph
 
Zuletzt bearbeitet:

Ähnliche Themen

Windows clients können nicht mehr auf lange laufendes System zugreifen

script per Cronjob ausführen

Onlineumfrage programmieren (mehrseitige HTML Formular an PHP übergeben)

[HowTo] TeamSpeak 2 - RC2 - Server (Deutsch/Englisch)

Zurück
Oben