86. Descarga y subida de información: Curl y Wget
Tutorial: Comandos Curl y Wget para Networking en Linux
Introducción
Ahora que comprendemos los conceptos básicos de networking en Linux, vamos a explorar dos comandos esenciales para transferir información: Curl y Wget.
1. Comando Curl
Instalación
sudo apt install curl
¿Qué es Curl?
Curl es una herramienta para transferir datos desde o hacia un servidor, soportando múltiples protocolos (HTTP, HTTPS, FTP, etc.).
Uso Básico
# Descargar contenido de una página web curl https://www.win-rar.com # Guardar el contenido en un archivo curl https://www.win-rar.com > winrar.html # Usar la opción -o para especificar nombre de archivo curl -o winrar2.html https://www.win-rar.com
Casos de Uso Avanzados
# Descargar múltiples recursos usando expansión curl https://ejemplo.com/recurso{1..4}.txt # Descargar un archivo conservando su nombre original curl -O https://ejemplo.com/archivo.gz # Usar proxy curl -x proxy-server:puerto https://ejemplo.com # Autenticación con usuario y contraseña curl -u usuario:contraseña https://ejemplo.com
2. Comando Wget
¿Qué es Wget?
Wget es una herramienta especializada en descargas no interactivas, ideal para archivos grandes.
Uso Básico
# Descargar un archivo wget https://ejemplo.com/archivo-grande.iso # Descargar una página web completa wget https://www.kali.org
Características Avanzadas
# Descargar en segundo plano wget -b https://ejemplo.com/archivo-grande.iso # Ver progreso en archivo de log tail -f wget-log # Descargar múltiples URLs desde un archivo wget -i lista-urls.txt # Especificar nombre de archivo de salida wget -O nombre-personalizado.iso https://ejemplo.com/archivo.iso
Comparación: Curl vs Wget
Curl
✅ Ideal para APIs y peticiones HTTP/HTTPS
✅ Soporte para subir información (POST, FTP upload)
✅ Múltiples protocolos
✅ Manipulación de cabeceras y parámetros
❌ Menos eficiente para descargas grandes
Wget
✅ Optimizado para descargas
✅ Soporte para descargas recursivas
✅ Manejo robusto de descargas interrumpidas
✅ Ejecución en segundo plano
✅ Ideal para páginas web completas
Ejemplo Práctico: Descarga de Kali Linux
# Con wget (recomendado para archivos grandes) wget -b https://cdimage.kali.org/kali-2023.4/kali-linux-2023.4-installer-amd64.iso # Monitorear progreso tail -f wget-log
Consejos Adicionales
Para desarrollo de APIs: Usa Curl para testing
Para descargas grandes: Prefiere Wget
Automatización: Ambos se pueden combinar con scripts bash
Documentación: Consulta
man curlyman wgetpara más opciones
Conclusión
Curl: Mejor para interacción con APIs y transferencia bidireccional
Wget: Mejor para descargas, especialmente de archivos grandes y páginas web completas
Ambas herramientas son complementarias y esenciales en el toolkit de cualquier administrador de sistemas Linux.
Comentarios
Publicar un comentario