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

bash
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

bash
# 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

bash
# 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

bash
# Descargar un archivo
wget https://ejemplo.com/archivo-grande.iso

# Descargar una página web completa
wget https://www.kali.org

Características Avanzadas

bash
# 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

bash
# 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

  1. Para desarrollo de APIs: Usa Curl para testing

  2. Para descargas grandes: Prefiere Wget

  3. Automatización: Ambos se pueden combinar con scripts bash

  4. Documentación: Consulta man curl y man wget para 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

Entradas más populares de este blog

88. Intercambio de ficheros I: FTP