- Instalación y preparativos
- Gestión básica de descargas y salidas
- Descargas continuas y archivos grandes
- Descarga recursiva y espejo
- Trabajar con API REST con wget
- Scripting, reintento y retroceso
- Proxy, TLS y certificados
- Consejos de rendimiento para servidores y ubicaciones en la nube
- Comparación de wget, curl y otras herramientas
- Seguridad y mejores prácticas
- Conclusión
- Planes e información de soporte
- Preguntas frecuentes
Instalación y preparativos
En muchas distribuciones de Linux, wget Está preinstalado. Si necesita instalarlo, puede usar los siguientes comandos. También puede usar el comando para comprobar la versión. wget --versión Aprovecha.
apt update
apt install -y wget
yum install -y wget
brew install wget
wget --version
Gestión básica de descargas y salidas
Para descargar un archivo simple desde una dirección específica: wget Puede cambiar el nombre del archivo guardado o reducir el texto de salida.
wget https://example.com/file.tar.gz
wget -O custom-name.tar.gz https://example.com/file.tar.gz
wget -q https://example.com/file.tar.gz
wget -nv https://example.com/file.tar.gz
wget -o /var/log/wget-download.log https://example.com/file.tar.gz
Descargas continuas y archivos grandes
Para descargar archivos de gran tamaño o en caso de desconexión y desconexión de la red, utilice la opción -do Úselo para reanudar. Además, controlar la velocidad y el número de intentos puede ser útil en servidores compartidos.
wget -c https://example.com/large.iso
wget --limit-rate=1m https://example.com/large.iso
wget --tries=10 --timeout=30 --retry-connrefused https://example.com/large.iso
Descarga recursiva y espejo
Utilice las opciones recursivas para descargar recursivamente una ruta o crear un espejo del sitio. -notario público Evita subir a la ruta principal y -k Convierte enlaces para acceso local.
wget -r -np -k https://example.com/some/path/
wget --mirror -p --convert-links -P ./localdir https://example.com/
Trabajar con API REST con wget
A pesar de rizo Tiene más flexibilidad para trabajar con API, wget Es útil para interacciones simples como GET y POST, así como para el envío de encabezados. A continuación, se muestran algunos ejemplos comunes.
Envío de encabezados
Para agregar encabezados personalizados desde la opción --encabezamiento Usar.
wget --header="X-API-Version: 2" --header="Accept: application/json" -O response.json "https://api.example.com/resource?id=10"Algunos ejemplos comunes de autenticación con wget son los siguientes.
wget --http-user=USERNAME --http-password='PASSWORD' -O resp.json "https://api.example.com/secure"
wget --header="Authorization: Bearer YOUR_TOKEN" -O resp.json "https://api.example.com/protected"
wget --save-cookies cookies.txt --keep-session-cookies --post-data='username=me&password=secret' https://example.com/login
wget --load-cookies cookies.txt -O dashboard.html https://example.com/dashboardEnvío de JSON y POST
Para enviar una carga útil JSON puedes usar --datos posteriores O --archivo-post Para cargas útiles grandes, se recomienda colocar los datos en un archivo.
wget --header="Content-Type: application/json" --post-data='{"name":"test","value":42}' -O resp.json "https://api.example.com/items"
echo '{"name":"big","value":123}' > payload.json
wget --header="Content-Type: application/json" --post-file=payload.json -O resp.json "https://api.example.com/items"Limitaciones y alternativas
Recuerda que wget Existen restricciones para los métodos HTTP, excepto GET y POST. Para los métodos PONER, PARCHE, BORRAR ¿O son mejores los formularios multiparte que...? rizo Usar.
Para descargar en paralelo o dividir archivos, utilice herramientas como aria2 Aprovecha.
Scripting, reintento y retroceso
Para una interacción estable con las API y para gestionar la limitación de velocidad, el algoritmo de reintento con retroceso exponencial es adecuado. Se puede utilizar el siguiente ejemplo de script bash.
#!/bin/bash
URL="https://api.example.com/data"
OUT="resp.json"
TOKEN="YOUR_TOKEN"
attempt=0
max=5
sleep_time=1
while [ $attempt -lt $max ]; do
wget --header="Authorization: Bearer $TOKEN" -O "$OUT" "$URL"
code=$?
if [ $code -eq 0 ]; then
echo "Success"
exit 0
fi
attempt=$((attempt+1))
echo "Attempt $attempt failed, sleeping $sleep_time"
sleep $sleep_time
sleep_time=$((sleep_time * 2))
done
exit 1Utilice temporizadores cron o systemd para programar descargas regularmente para ejecutar tareas automáticamente en servidores VPS o en la nube en diferentes ubicaciones.
Proxy, TLS y certificados
Si utiliza un proxy, wget admite variables de entorno. Puede especificar la ruta al archivo de CA para controlar la verificación del certificado.
export http_proxy="http://proxy.example:3128"
export https_proxy="http://proxy.example:3128"Opciones de certificado:
--ca-certificate=/ruta/a/ca.pem--certificado sin verificación(No utilizar excepto en entornos de prueba)
Consejos de rendimiento para servidores y ubicaciones en la nube
Elegir la ubicación correcta puede reducir el RTT y el ping. Para aplicaciones sensibles como el comercio, los juegos, el renderizado o la IA con servidores GPU, la proximidad al servicio de destino es importante: la empresa en cuestión puede prestar servicios en Más de 85 ubicaciones Sí, la tiene.
- Elija una ubicación: Elija el centro de datos más cercano a su destino para reducir la latencia.
- Descargar modelos y representaciones de IA: De
-doPara currículum y--tasa límiteÚselo cuando procese cosas pesadas. - Seguridad de la red: Utilice servidores protegidos contra DDoS para alojar archivos de alto tráfico.
- CDN y BGP: Se recomienda una combinación de wget para pruebas punto a punto y CDN para distribución final.
Ejemplo práctico de descarga de un modelo grande en un servidor GPU:
wget -c https://models.example.com/large-model.tar.gz -O /mnt/nvme/models/large-model.tar.gz --limit-rate=5m --tries=20
Comparación de wget, curl y otras herramientas
Un resumen de los beneficios y usos de cada herramienta:
- wget: Adecuado para descargar archivos, reflejar sitios, descarga recursiva; simple y adecuado para scripts.
- rizo: Alta flexibilidad para API REST, soporte completo para HTTP y métodos multiparte.
- aria2: Descargas paralelas y conexiones múltiples para acelerar las descargas.
- rsync/scp: Sincronización segura de servidor a servidor (SSH/SFTP).
Seguridad y mejores prácticas
Algunas recomendaciones clave para el uso seguro de wget y la gestión de secretos:
- Almacenamiento de tokens: Restrinja los archivos que contienen tokens y utilice un administrador secreto.
- TLS: Mantenga habilitada la verificación del certificado y
--certificado sin verificaciónÚselo sólo en pruebas. - Limitación de velocidad: Utilice encabezados Rate-Limit y el algoritmo de retroceso para evitar el bloqueo.
- Protección de la red: Utilice servidores anti-DDoS y CDN para alojar archivos utilizados con frecuencia.
Conclusión
En respuesta a la pregunta principal, wget Es una herramienta sencilla y estable para descargar archivos, replicar e interactuar con API REST. Para necesidades HTTP más complejas e interacciones más diversas, rizo Es una mejor opción. En entornos de nube, elegir la ubicación correcta, usar servidores seguros y configurar la red adecuada puede mejorar drásticamente la experiencia laboral.
Planes e información de soporte
Planes en más de 85 ubicaciones Están disponibles en todo el mundo y se ofrecen diferentes opciones para usos específicos, como servidores GPU, servidores de baja latencia para comercio o servidores adecuados para juegos y alojamiento de alto tráfico.
Para ver los detalles del plan u obtener información adicional, puede visitar el panel web u obtener más información a través del soporte.









