2009-07-30 3 views

ответ

67

cURL сделают это за вас.

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

В случае использования WebDAV ваш пример не будет работать без особого t но важная деталь -> включить имя файла, который вы хотите иметь на удаленном компьютере. Итак: curl -T filetoput.xml http://www.url.com/filetoput.xml – Cninroh

+4

@Cninroh: Я не верю, что это правда. Согласно странице curl manpage: «Если в указанном URL нет части файла, Curl добавит имя локального файла. Учтите, что вы должны использовать трейлинг/в последнем каталоге, чтобы действительно доказать Curl, что нет имени файла или curl будет думать, что ваше последнее имя каталога - это имя удаленного файла, которое нужно использовать ». –

+7

+1, cURL для победы. И если вам нужно пройти аутентификацию, вы можете использовать 'curl -T -u : '. –

9

Наиболее часто используется утилита командной строки HTTP, кажется cURL, которая будет делать PUT с -T option. Тем не менее, вам нужно будет понять довольно много протокола WebDAV, чтобы делать больше, чем загружать с ним.

11

Для UNIX (и Windows, с Cygwin установлен), вы можете использовать Cadaver

3

this overview содержит thourough список Webdav сервера и клиентов.

Я бы выбрал труп или, если мои потребности были очень конкретными, скрипт python, используя библиотеку PyWebDAV.

5

WinSCP Free (для Windows) поддерживает WebDAV (и WebDAVS).
WinSCP также поддерживает операции сценариев и командной строки.

Пример сценария WinSCP для загрузки файла через WebDAV:

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

Сохранить скрипт в файл (например, script.txt) и работать как:

winscp.com /script=script.txt 

Вы также можете поставить все на один линии:

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

introduction to scripting with WinSCP.

Возможно, у вас есть WinSCP GUI generate the script file for you.

(я автор WinSCP)

Смежные вопросы