El comando cURL es una herramienta de línea de comandos potente y versátil que permite transferir datos desde o hacia un servidor utilizando diversos protocolos, como HTTP, HTTPS, FTP y SFTP, entre otros. Es especialmente útil para descargar archivos de manera eficiente y automatizada en sistemas basados en Unix y Linux, aunque también está disponible para Windows. A continuación, se explica cómo utilizar cURL para descargar archivos y se detallan algunas de sus opciones más comunes.
Instalación de cURL
Antes de comenzar, es necesario asegurarse de que cURL esté instalado en el sistema:
- En distribuciones basadas en Debian/Ubuntu:
sudo apt-get update sudo apt-get install curl
- En distribuciones basadas en Red Hat/Fedora/CentOS:
sudo dnf install curl
- En macOS (si no está preinstalado):
brew install curl
Uso básico para descargar archivos
La sintaxis general para descargar un archivo es:
curl -O [URL_del_archivo]
- Ejemplo:Para descargar un archivo llamado
archivo.zip
desde un servidor:curl -O https://ejemplo.com/archivo.zip
La opción-O
(mayúscula) indica a cURL que guarde el archivo con el mismo nombre que tiene en el servidor.
Especificar un nombre de archivo personalizado
Si se desea guardar el archivo con un nombre diferente, se puede utilizar la opción -o
(minúscula):
curl -o nuevo_nombre.zip https://ejemplo.com/archivo.zip
Reanudar descargas interrumpidas
Para reanudar una descarga que ha sido interrumpida, se utiliza la opción -C -
:
curl -C - -O https://ejemplo.com/archivo.zip
Descargar varios archivos a la vez
Es posible descargar múltiples archivos en una sola línea de comandos:
curl -O https://ejemplo.com/archivo1.zip -O https://ejemplo.com/archivo2.zip
Autenticación básica
Si el servidor requiere autenticación, se pueden proporcionar las credenciales con la opción -u
:
curl -u usuario:contraseña -O https://ejemplo.com/archivo_protegido.zip
Descargar archivos FTP
Para descargar archivos desde un servidor FTP:
curl -O ftp://servidorftp.com/archivo.txt
Si el servidor FTP requiere autenticación:
curl -u usuario:contraseña -O ftp://servidorftp.com/archivo.txt
Limitar la velocidad de descarga
Para limitar la velocidad de descarga y no saturar el ancho de banda:
curl --limit-rate 500k -O https://ejemplo.com/archivo.zip
Este comando limita la velocidad de descarga a 500 kilobytes por segundo.
Mostrar progreso y detalles de la transferencia
Para obtener información detallada sobre la descarga, se puede utilizar la opción -#
o --progress-bar
:
curl -# -O https://ejemplo.com/archivo.zip
Especificar encabezados personalizados
En casos donde se necesite enviar encabezados HTTP personalizados, se utiliza la opción -H
:
curl -H "User-Agent: MiNavegador" -O https://ejemplo.com/archivo.zip
Descargar archivos en segundo plano
Para ejecutar la descarga en segundo plano y liberar la terminal:
curl -O https://ejemplo.com/archivo.zip &
Uso de proxies
Si se requiere pasar por un proxy:
curl -x http://proxyservidor:puerto -O https://ejemplo.com/archivo.zip
Comprobación de certificados SSL
Para ignorar errores en certificados SSL (no recomendado por motivos de seguridad):
curl -k -O https://ejemplo.com/archivo.zip
cURL es una herramienta esencial para cualquier administrador de sistemas o desarrollador que necesite transferir datos desde o hacia un servidor. Su versatilidad y compatibilidad con múltiples protocolos la convierten en una opción preferida para automatizar tareas de descarga y manejo de archivos. Al dominar cURL, se pueden optimizar procesos y mejorar la eficiencia en la gestión de recursos en línea.
Referencias
- Página oficial de cURL: https://curl.se/
- Manual de cURL: Ejecutar
man curl
en la terminal para acceder a la documentación detallada.