Cómo descargar archivos usando curl

Español English

curl es una herramienta que permite transferir datos desde y hacia un servidor usando uno de los protocolos soportados: HTTP, HTTPS, FTP, FTPS, SMB … (consulte el manual de curl para ver una lista de los protocolos soportados). curl además soporta HTTP POST, autenticación, cookies, metalinks, descarga de ficheros y más.

En muchas ocaciones curl se usa como un administrador de descarga ya que permite pausar/reiniciar la descarga de un fichero a partir del último byte descargado.

Descargar un solo fichero

$ curl -# -C - -O http://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-standard-3.8.0-x86_64.iso

Descarga el ISO de Alpine al DIR actual.

Opciones

-#: Barra de progreso.
-C -: Reinicia la descarga a partir de último byte descargado.
-O: Salva el fichero al DIR actual con el mimo nombre remoto: alpine-standard-3.8.0-x86_64.iso.

Descargar varios ficheros a la vez

Using xargs and curl (al estilo wget -i)

$ xargs -a urls.txt -I{} curl -# -O {}

xargs lee linea a linea el fichero urls.txt y le pasa cada línea a curl, nótese la opción: -I{} de xargs y la opción -O {} de curl.

Formato del fichero urls.txt

https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz.sig

Usando la opción -K

$ curl -# -K urls.txt

Formato del fichero urls.txt

url = "url1"
output = "nom-fich1"

url = "url2"
output = "nom-fich2"

Opción -K, leyendo de la entreda estándar y usando HEREDOC

$ curl -# -K - <<URL
    url = "https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz"
    output = "libsodium-1.0.16.tar.gz"

    url = "https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz.sig"
    output="libsodium-1.0.16.tar.gz.sig"
URL

Lectura recomendada

  • man curl

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.