2.2.12 Accediendo a archivos usando cURL

Dado que WebDAV es una extensión de HTTP, cURL se puede utilizar para realizar operaciones con archivos de comandos.

 

Para crear una carpeta con la fecha actual como nombre:

 

$ curl -u usuario:password -X MKCOL "https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/$(date '+%d-%b-%Y')"

Para cargar un archivo error.log en ese directorio:

 

$ curl -u usuario:password -T error.log "https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/$(date '+%d-%b-%Y')/error.log"

Para mover un archivo:

 

$ curl -u usuario:password -X MOVE --header 'Destination: https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/objetivo.jpg' https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/fuente.jpg

Para obtener las propiedades de los archivos en la carpeta raíz:

 

$ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/TecnoCloud/remote.php/dav/files/USERNAME/ | xml_pp
    <?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://TecnoCloud.org/ns" xmlns:s="http://sabredav.org/ns">
  <d:response>
    <d:href>/TecnoCloud/remote.php/dav/files/USERNAME/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:45 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
        <d:quota-used-bytes>163</d:quota-used-bytes>
        <d:quota-available-bytes>11802275840</d:quota-available-bytes>
        <d:getetag>"561d3a6139d05"</d:getetag>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/TecnoCloud/remote.php/dav/files/USERNAME/welcome.txt</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:35 GMT</d:getlastmodified>
        <d:getcontentlength>163</d:getcontentlength>
        <d:resourcetype/>
        <d:getetag>"47465fae667b2d0fee154f5e17d1f0f1"</d:getetag>
        <d:getcontenttype>text/plain</d:getcontenttype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>
Ir al contenido