質問
WebDAVアップロード(HTTP PUT)を実行できるコマンドラインユーティリティが必要です。
解決
cURL がそれを行います。
curl -T filetoput.xml http://www.url.com/filetoput.xml
他のヒント
無料の WinSCP (Windowsの場合)はWebDAV(およびWebDAVS)をサポートします。
WinSCPはスクリプト/コマンドライン操作もサポートしています。
WebDAV経由でファイルをアップロードするサンプルWinSCPスクリプト:
open https://user@webdav.example.com/
put file.txt /path/
exit
スクリプトをファイル(例: script.txt
)に保存し、次のように実行します:
winscp.com /script=script.txt
すべてを1行に入れることもできます:
winscp.com /command "open https://user@webdav.example.com/" "put file.txt /path/" "exit"
WinSCPを使用したスクリプトの紹介から始めます。
WinSCP GUIがスクリプトファイルを生成することもできます。
(私はWinSCPの著者です)
別のオプションは「davix」です
https://dmc.web.cern.ch/projects/davix/home
davix-mkdir davix-putなどのユーティリティが分離されています
のようなURLでクレジットを指定できます 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
KDEでKIOを使用:
kioclient cp file.txt 'webdavs://user@webdav.example.com:443/'
1つのファイルではなくディレクトリ全体をWebDAVでアップロードする必要がある場合は、次のアプローチを使用できます。
WebDAV経由でアップロードする次のローカルフォルダがあるとします。
local_folder_to_upload
│ test.txt
│ test1.txt
│
└───nested_folder1
│ │ file1.txt
│ │ file2.txt
│ │
│ └───nested_folder2
│ │ file11.txt
│ │ file12.txt
1。まず、サーバー上のローカルフォルダー(ある場合)からネストされたディレクトリを作成する必要があります。 WebDAVは再帰的なアップロードをサポートしていないため、これを別の手順で行う必要があります( ftp
-これを行うには-ftp-create-dirs
フラグを追加します)。 WebDAVでこれらのフォルダーを作成するには、 MKCOLメソッドを使用する必要があります。
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'
仕様へ。
コレクション/ a / b / c / d /の作成要求が行われた場合、および / a / b / c /が存在しない場合、リクエストは失敗する必要があります。
2。次に、 find シェルコマンドを使用して、 curl
を使用してサーバーにアップロードします。
cd local_folder_to_upload && find . -exec curl -T {} 'http://your.server/uploads/{}' --user 'name:pwd' \;
上記のコードは、指定されたディレクトリ内のすべてのファイルをループし(findを使用)、出力(相対パスのファイル名)をWebサーバーのURLのプレースホルダー {}
に追加します。そのため、複数のリクエスト(各ファイルに1つ)を作成し、ネストされたフォルダーはすべて事前に作成されているため、これらのリクエストは失敗しません。
誰かに役立つことを願っています。
Telerik Fiddlerには" compose"があります作成できるタブ 独自のカスタマイズされたWebDAVリクエスト。例えば。 PROPFINDおよびOPTIONSなど。