Frage

Ich brauche ein Befehlszeilenprogramm, das WebDAV-Upload tun kann (HTTP PUT).

War es hilfreich?

Lösung

cURL wird es für Sie tun.

curl -T filetoput.xml http://www.url.com/filetoput.xml

Andere Tipps

für UNIX (und Windows mit Cygwin Installation ) können Sie Kadaver

Die am häufigsten verwendete Befehlszeile HTTP-Dienstprogramm erscheint cURL zu sein, was PUT zu tun mit seiner < a href = "http://curl.haxx.se/docs/manpage.html#-T" rel = "nofollow noreferrer"> - T Option . Sie müßten ziemlich viel des WebDAV-Protokolls zu verstehen, mehr zu tun, als mit ihm laden, though.

Free WinSCP (für Windows) unterstützt WebDAV (und webdavs).
 WinSCP unterstützt Scripting / Befehlszeilenvorgänge zu.

Beispiel WinSCP Skript eine Datei über WebDAV hochgeladen werden:

open https://user@webdav.example.com/
put file.txt /path/
exit

Speichern Sie das Skript in eine Datei (z script.txt) und führen wie:

winscp.com /script=script.txt

Sie können auch alles setzen auf eine einzige Zeile:

winscp.com /command "open https://user@webdav.example.com/" "put file.txt /path/" "exit"

Starten Sie mit Einführung in Scripting mit WinSCP .

Sie können sogar haben WinSCP GUI die Skriptdatei erzeugen für Sie .

(ich bin der Autor von WinSCP)

diese Übersicht eine thourough Liste der WebDAV-Server enthält und Kunden.

ich für kadaver entscheiden würde oder, wenn meine Bedürfnisse waren sehr spezifisch, ein Python-Skript, das PyWebDAV Bibliothek.

Eine weitere Option ist "Davix"

https://dmc.web.cern.ch/projects/davix/home

es hat getrennt utils wie Davix-mkdir Davix Stoßen usw. Sie können creditions in URL angeben, wie

 davix-mkdir http://user:passw@example.com/dir_to_create
 davix-put local_file http://user:passw@example.com/dir_to_create/remote_file_name

Verwenden KIO unter KDE:

kioclient cp file.txt 'webdavs://user@webdav.example.com:443/'

Wenn Sie das gesamte Verzeichnis anstelle einer Datei über WebDAV hochgeladen werden müssen, können Sie den folgenden Ansatz verwenden.

Stellen Sie sich die folgenden lokalen Ordner haben Sie über WebDAV hochgeladen fahren.

local_folder_to_upload
│   test.txt
│   test1.txt    
│
└───nested_folder1
│   │   file1.txt
│   │   file2.txt
│   │
│   └───nested_folder2
│       │   file11.txt
│       │   file12.txt

1.First Sie verschachtelte Verzeichnisse von Ihrem lokalen Ordner erstellen müssen (wenn Sie sie haben) auf einem Server. Da WebDAV nicht rekursive Upload nicht unterstützt, müssen Sie dies in einem separaten Schritt ( tun, wenn Sie ftp verwenden waren - Sie füge hinzu, diese --ftp-create-dirs Flagge zu tun). Um diese Ordner über WebDAV erstellen Sie verwenden müssen MKCOL Methode .

curl -X MKCOL 'http://your.server/uploads/nested_folder1' --user 'name:pwd'
curl -X MKCOL 'http://your.server/uploads/nested_folder1/nested_folder2' --user 'name:pwd'

Bitte beachten Sie, dass Sie diese nicht in einer Anfrage erstellen können gemäß die spec .

  

, wenn eine Anfrage Sammlung / a / b / c / d zum Erstellen / gemacht wird, und   / A / b / c / existiert nicht, muss die Anforderung fehlschlagen.

2.Zweite Sie die Ausgabe von Shell-Befehl finden sie es zu Ihrem Server hochladen curl verwendet wird.

cd local_folder_to_upload && find . -exec curl -T {} 'http://your.server/uploads/{}' --user 'name:pwd' \;

-Code über eine Schleife über all Ihre Dateien im angegebenen Verzeichnis (unter Verwendung finden) und den Ausgang (Dateinamen mit relativem Pfad) auf den Platzhalter {} in der URL des Webservers hinzuzufügen. So macht es mehrere Anfragen (einer pro jede Datei), und da alle verschachtelten Ordner im Voraus erstellt wurden -. Diese Anforderungen nicht scheitern

Ich hoffe, es ist hilfreich für jemanden.

Telerik Fiddler hat eine „komponieren“ Tab, wo Sie erstellen können Sie Ihre eigene angepasste WebDAV Anfrage. Z.B. PROPFIND und OPTIONS etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top