Download von einem Sharepoint Server
Freitag, 10. März 2006
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:
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:
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.
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.
Trackbacks
Trackback-URL für diesen Eintrag
Keine Trackbacks

Kommentare
1.) auf der curl-seite kann ich zwar einiges downloaden, allerdings scheint das ganze unkompilliert zu sein. wie bringe ich das auf einer windows xp-kiste zum laufen?
2.) kann ich mit dem tool auch ganze sharepoint-docbibliotheken kopieren? quasi nicht ein spezielles dokument, sondern alle dokumente in einer bibliothek?
danke
Mit freundlichen Grüßen
Joachim Eckerl
Zu 1.
Lade einfach die folgenden Pakete herunter und dann kannst Du curl auch ohne Cygwin unter Windows benutzen.
http://curl.freemirror.de/download/curl-7.15.4-win32-ssl-sspi.zip
und
http://curl.haxx.se/download/openssl-0.9.7e-win32-bin.zip
Zu 2.
Leider habe ich da auch keine Funktion für gefunden. Ich habe dann einfach mit curl die \"/Forms/AllItems.aspx\" des Verzeichnisses vorher heruntergeladen, diese Datei dann von meinem Skript nach Dateinamen durchsuchen lassen und dann heruntergeladen.