Die Aufgabenstellung war eigentlich ganz einfach:
Download von Dateien aus einem freigegebnen Sharepointordern.
Zusätliche Hürden:
- HTTPS
- Windows Authentifizierung
- abgelaufenes Sicherheitszertifikat ignorieren
- mit Leerzeichen in Dateiname umgehen können
- Von der Kommandozeile aus unter Linux und Windows laufen
Mein erster Gedanke fiel auf
WGet. Mit diesem Tool hatte ich bisher alle nötigen automatischen Downloads meistern können. Aber leider blieben alle meine Versuche ohne Erfolg. Also mußte ein neues Tool her das von einem Sharepoint Server Datein laden konnte.
Auch meine Suche nach Spezialprogammen für WEBDAV Server blieb erfolglos.
Entweder konnten sie nicht mit HTTPS umgehen, versagten ihren Dienst bei der Windows Authentifizierung oder sie kosteten Geld.
Nach einigem Suchen und Herumstöbern in den Newsgroups bin ich bei
CURL gelandet. Ein, wie ich zugeben muss, von mir bis dahin nicht viel beachtetes Tool, das es aber in sich hat.
Von der Website:
curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, TFTP, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a busload of other useful tricks.
Also alles was ich brauchte in diesem Tool vereint. Nach einigem ausprobieren und der Erkenntnis, dass
--anyauth nicht mit meinem Server funktioniert, sonderm ich explizit
--ntlm zur Authentifizierung angeben muss kam ich bei folgender Befehlszeile an:
curl -o c:/temp/DATEI.txt --ntlm -k -u DOMAIN/user:passwd https://servername/DATEI MIT LEERZEICHEN.txt
Wichtig war in meinem Fall noch der Schalter
-k/--insecure der den Download auch mit abgelaufenem Zertifikat zuläßt.
Wer des öfteren *nix Tools in einer Windowsumgebung braucht sollte auf alle Fälle
Cygwin installieren. Einfach
Setup.exe herunterladen und starten, Packete auswählen und schon ist die *nix Umgebung unter Windows fertig. Auch ein kostenloser
X-Server kann über das Setupprogramm installiert werden.