servidor mac gratuito caracteristicas webdav

mac - Utilidad de línea de comandos para la carga de WebDAV



webdav synology (8)

La utilidad HTTP de línea de comandos más utilizada parece ser cURL , que hará PUT con su opción -T . Sin embargo, deberías entender un poco el protocolo WebDAV para hacer más que cargar con él.

Necesito una utilidad de línea de comandos que pueda realizar la carga de WebDAV (HTTP PUT).




Si necesita cargar el directorio completo en lugar de un archivo a través de WebDAV, puede utilizar el siguiente enfoque.

Imagina que tienes la siguiente carpeta local que vas a cargar a través de WebDAV.

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

1. Primero debe crear directorios anidados desde su carpeta local (si los tiene) en un servidor. Dado que WebDAV no admite la carga recursiva, debe hacerlo en un paso separado ( si tuviera que usar ftp , agregaría la --ftp-create-dirs para hacer esto). Para crear esas carpetas a través de WebDAV necesita usar el método 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''

Tenga en cuenta que no puede crearlos en una solicitud de acuerdo con la especificación .

Si se realiza una solicitud para crear la colección / a / b / c / d / y no existe / a / b / c /, la solicitud debe fallar.

2. En segundo lugar, puede utilizar la salida del comando Find shell para cargarlo en su servidor utilizando curl .

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

El código anterior repite todos los archivos dentro del directorio dado (usando buscar) y agrega la salida (nombre de archivo con ruta relativa) al marcador de posición {} en la url de su servidor web. Por lo tanto, realiza múltiples solicitudes (una por cada archivo) y, dado que todas las carpetas anidadas se crearon de antemano, esas solicitudes no deberían fallar.

Espero que sea de ayuda para alguien.



cURL lo hará por ti.

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


Esta descripción general contiene una lista completa de servidores y clientes de webdav.

Optaría por un cadáver o, si mis necesidades fueran muy específicas, un script de Python utilizando la biblioteca PyWebDAV .


WinSCP gratuito (para Windows) es compatible con WebDAV (y WebDAVS).
WinSCP también admite operaciones de guión / línea de comandos.

Ejemplo de secuencia de comandos WinSCP para cargar un archivo a través de WebDAV:

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

Guarde el script en un archivo (por ejemplo, script.txt ) y ejecute como:

winscp.com /script=script.txt

También puedes poner todo en una sola línea:

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

Comience con la introducción a las secuencias de comandos con WinSCP .

Incluso puede hacer que WinSCP GUI genere el archivo de script para usted .

(Soy el autor de WinSCP)