Zum Inhalt springen

Mittels Curl Download nach Login auff Https Seite


Pragor

Empfohlene Beiträge

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 :P

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 von Pragor
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...