Pragor Geschrieben 22. September 2008 Geschrieben 22. September 2008 (bearbeitet) Hallo, ich beisse mir hier noch die Zähne aus und weiss einfach nicht mehr weiter.... Ich habe folgende Aufgabenstellung: Mittels einem Scheduler ein Script ansteuern, dass sich auf einer vorgegebenen Seite einloggt und die hinterlegte CSV Datei downloadet. Dies soll mit Curl oder im Notfall mit Wget geschehen. Das Script soll über UNIX Kommandozeilen ausgeführt werden. Ich habe im Scheduler alles drin, alles passt. Es muss also an Curl liegen dass es nicht funktioniert... Beziehungsweise an meinem Brett vorm Kopf Die Seite hat eine Userform hinterlegt, in der username und password eingetragen werden müssen. Dazu kommt ein Anmelden Button, der aber keinen expliziten Namen aufweisst. Der Buttonname ist mir also nicht bekannt. Zusätzlich ist es hier unabdinglich einen Proxy zu verwenden. Folgendes Script habe ich nun geschrieben, mehrfach umgeschrieben und immer bleibe ich bei der Authentifizierung auf der Seite stehen und komme nicht weiter: (Der Übersichthalber nicht in einer Zeile ^^) curl -x "proxy: port" (Proxy festlegen - Blank wegen Smilies eingefügt) -U "proxyuser: proxypassword" (Proxy User und PW festlegen - Blank wegen Smilies eingefügt) --url "https://meine.downloaddomain.de/" (URL der Loginseite) -d "username=test&password=test" (Login und Passwort) -k (Seite ohne Certs erlauben) -o /Ordner/Ablage/Datei.csv (Dahin soll die Datei gedownloadet werden) Als Ergebnis speichert er mir eine CSV die den Quellcode der URL beinhaltet... Das ist leider nicht das gewünschte Ergebnis... Es wäre sehr nett wenn mir jemand dabei helfen könnte... Nach stundemlangen Googlen und PHP Scripte lesen weiss ich nimmer weiter.. Habe erst 2 Mal das gleiche Problem gelesen und keiner antwortete drauf.. Grüße Pragor Bearbeitet 22. September 2008 von Pragor
Amstelchen Geschrieben 22. September 2008 Geschrieben 22. September 2008 HTTP-fehlermeldung vom server? s'Amstel
Pragor Geschrieben 22. September 2008 Autor Geschrieben 22. September 2008 Nein. Lediglich den Code der LOGIN URL.
Amstelchen Geschrieben 22. September 2008 Geschrieben 22. September 2008 gib curl mal den parameter -v mit. s'Amstel
Pragor Geschrieben 22. September 2008 Autor Geschrieben 22. September 2008 Hat leider nichts geändert. Ist denn die oben beschriebene Syntax soweit in Ordnung? Muss dass Zielsystem spezielle Voraussetzungen haben? Oder reicht es den Buttonnamen zu bekommen und mittels press=buttonname anzugeben? Hatte sowas auf ner englischen seite gesehen aber nur für http.. Grüße Christian
Amstelchen Geschrieben 22. September 2008 Geschrieben 22. September 2008 das zielsystem muss HTTP(S) können. die zielurl muss genau jene sein, die in der form action mit der method POST angegeben ist. der inhalt des parameter -d entspricht IMO genau jenem, der via der formfelder username und password eingegeben wird. insofern kann ich mir nicht vorstellen, warum curl nicht *irgendeine* meldung des servers liefern sollte (es sei denn, HTTPS ist nicht möglich - denn dann dürfte auch kein connect auf port 443 möglich sein, auf dem der webserver lauscht). s'Amstel
Pragor Geschrieben 30. September 2008 Autor Geschrieben 30. September 2008 OK, danke für die hilfe. Es war dann ein anderes Problem was mich gehindert hat. Hier meine Lösung für einen Download auf einer HTTPS Seite: #!/bin/bash echo "rm /cookie.txt" rm cookie.txt echo "rm download.htm" rm download.htm echo "cd /curl/bin" cd /curl/bin echo "Login durchführen - Cookies speichern" curl -x "Proxy" -U "Proxyuser" -v -k -O -c cookie.txt -d "Username&Password&login-form-type=Buttonname" https://Download.Seite.de/login.form echo "Cookie wird gelesen - Download Seite geöffnet - JSESSION Cookie gespeichert" curl -x "Proxy" -U "Proxyuser" -v -k -b cookie.txt -c cookie.txt -o /download.htm "https://Download.Seite.de/downloadlistenseite" echo "Ermitteln der Download-URL" URL_DOWNLOAD=$(awk -F\" '/Suchwort/ { print $2; }' /download.htm) echo "Ausgabe der Download-URL zur Kontrolle: $URL_DOWNLOAD" echo "Download durchführen" curl -x "Proxy" -U "Proxyuser" -v -k -o ausgabedatei.csv -b cookie.txt "https://Download.Seite.de/$URL_DOWNLOAD" Eventuell kann das ja irgendwem noch von Nutzen sein! Grüße Pragor
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden