web-dev-qa-db-ja.com

WebDAVアップロード用のコマンドラインユーティリティ

WebDAVアップロード(HTTP PUT)を実行できるコマンドラインユーティリティが必要です。

52
rperez

cURL はあなたのためにそれをします。

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

UNIX(および Cygwin がインストールされたWindows)の場合、 Cadaver を使用できます。

12
Matthew Lock

最も一般的に使用されるコマンドラインHTTPユーティリティは、 cURL のようで、 -TオプションPUTを実行します。ただし、WebDAVプロトコルを使用してアップロードする以上のことを行うには、WebDAVプロトコルのかなりの部分を理解する必要があります。

9
Carey

無料 WinSCP (Windowsの場合)WebDAV(およびWebDAVS)をサポートします。
WinSCPはスクリプト/コマンドライン操作もサポートしています。

WebDAV経由でファイルをアップロードするサンプルWinSCPスクリプト:

open https://[email protected]/
put file.txt /path/
exit

スクリプトをファイルに保存します(例:script.txt)そして次のように実行します:

winscp.com /script=script.txt

また、すべてを1行に入れることもできます。

winscp.com /command "open https://[email protected]/" "put file.txt /path/" "exit"

WinSCPを使用したスクリプトの概要 で開始します。

WinSCP GUIがスクリプトファイルを生成する にすることもできます。

(私はWinSCPの著者です)

5
Martin Prikryl

別のオプションは「davix」です

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

davix-mkdir davix-putなどのutilsが分離されています

 davix-mkdir http://user:[email protected]/dir_to_create
 davix-put local_file http://user:[email protected]/dir_to_create/remote_file_name
3
xoid

この概要 にはwebdavサーバーとクライアントの完全なリストが含まれています。

私は死体を選ぶか、私のニーズが非常に具体的である場合は、 R WebDAV ライブラリを使用するpythonスクリプトを選択します。

3
Steen

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 method を使用する必要があります。

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'

仕様による に従って、1つのリクエストで作成することはできません。

コレクション/ a/b/c/d /を作成する要求が行われ、/ a/b/c /が存在しない場合、要求は失敗する必要があります。

2.次に、 find Shellコマンドの出力を利用して、curlを使用してサーバーにアップロードできます。

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

上記のコードは、指定されたディレクトリ内のすべてのファイルをループし(findを使用)、WebサーバーのURLのプレースホルダー{}に出力(相対パス付きのファイル名)を追加します。したがって、複数の要求(各ファイルに1つ)を作成し、すべてのネストされたフォルダーが事前に作成されているため、これらの要求は失敗しません。

それが誰かに役立つことを願っています。

2

KDEでKIOを使用します。

kioclient cp file.txt 'webdavs://[email protected]:443/'
2
kolypto

Telerik Fiddlerには、「compose」タブがあり、独自のカスタマイズされたWebDAVリクエストを作成できます。例えば。 PROPFINDおよびOPTIONSなど。

0
user5101998