¿Cuál es la diferencia entre wget vs curl??

¿Cuál es la diferencia entre wget vs curl??
A menudo necesitamos descargar archivos de servidores remotos a nuestra máquina local. En un escritorio gráfico, podemos usar un navegador GUI y hacer clic en el botón Descargar. Sin embargo, en un terminal, necesitamos usar herramientas desarrolladas para el terminal.Al descargar archivos de la terminal, a menudo surgen cuatro herramientas: curl, axel, wget y aria2. Si bien Axel y ARIA2 pueden no ser bien conocidos, la mayoría de los usuarios terminales conocen curl y wget.

En este tutorial, veremos a Curl y Wget, cómo comenzar, y lo más importante, las diferencias entre ellos.

Que es rizo?

Curl es una utilidad de línea de comandos gratuita y de código abierto que permite a los usuarios transferir datos de una máquina remota a otra con interacción mínima o ninguna del usuario. El uso de curl es frecuente en dispositivos como enrutadores, impresoras, teléfonos, tabletas, reproductores multimedia y más.

Admite la descarga y la carga utilizando protocolos como HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMB, Telnet, Pop3, Gopher y muchos, muchos más.

Curl también proporciona proxies, transferencias de currículums, autenticación de usuarios, certificados SSL y mucho más.

Que es wget?

GNU WGet, comúnmente llamado WGet, es una utilidad de línea de comandos gratuita para transferir archivos utilizando HTTP/HTTPS, FTP y FTPS. Proporciona características como descargas recursivas, control de ancho de banda, transferencias abortadas, descargas de fondo, archivos y directorios de espejo recursivos, y muchos más.

Cómo instalar curl y wget?

Curl y Wget son herramientas populares disponibles en las principales distribuciones de Linux; Si no tiene ninguna herramienta instalada, utiliza los comandos a continuación para instalar:

Debian/Ubuntu:

# Instalar curl
sudo apt-get instalación curl
# instalar wget
sudo apt-get install wget

Arch/Manjaro:

# Instalar curl
sudo Pacman -S Curl
# instalar wget
sudo Pacman -s Wget

Rehl/centos/fedora:

# Instalar curl
sudo yum instalación curl
sudo dnf instalar curl
# instalar wget
sudo yum instalación wget
sudo dnf install wget

Cómo usar curl y wget (casos de uso de ejemplo)?

Para asegurarse de comprender las similitudes y diferencias entre Curl y WGET, es bueno ver algunos ejemplos:

Protocolos HTTP/HTTPS:

Tanto los protocolos HTTP y HTTPS de Curl como WGet. Por lo tanto, si descargamos un sitio web como Linuxhint.com:

curl https: // linuxhint.com -o linuxhint.html
curl https: // linuxhint.com -o linuxhint.html
% Total % recibido % XFERD Tiempo de tiempo promedio Tiempo de tiempo Corriente
DLOAD SUPTO TOTAL TOTAL GED SED VELOCIDAD
100 256K 0 256K 0 0 166K 0-:-:-0:00:01-:-:-166K

Por defecto, Curl imprimirá el contenido del recurso web en el terminal. Usamos el indicador -O para redirigir la salida a un archivo.

Lo siguiente se aplica a WGet:

wget https: // linuxhint.comunicarse
--2021-06-20 05: 09: 45-- https: // Linuxhint.com/
Resolver Linuxhint.com (Linuxhint.com) ... 104.21.58.234, 172.67.209.252, 2606: 4700: 3033 :: 6815: 3aea, ..
Conectarse a Linuxhint.com (Linuxhint.com) | 104.21.58.234 |: 443 ... conectado.
Solicitud HTTP enviada, en espera de respuesta ... 200 OK
Longitud: no especificado [texto/html]
Guardar a: 'Índice.html '
índice.html
[ <=> ] 256.25k 506kb/s en 0.5s
2021-06-20 05:09:46 (506 kb/s)-'Índice.html 'guardado [262396]

Wget, por otro lado, guarda el recurso solicitado a un archivo.

Es bueno tener en cuenta que ambas herramientas descargan el recurso. Los detalles de LS de los dos archivos muestran ambos tamaños de archivo.

Índice de $ LS -L.html linuxhint.html
-RW-RW-R-- 1 Linuxhint Linuxhint 262396 Jun 19 15:50 Índice.html
-rw-rw-r-- 1 Linuxhint Linuxhint 262396 20 de junio 05:07 Linuxhint.html

Protocolo FTP:

Tanto las descargas de soporte de curl como wget en protocolos FTP. Sin embargo, Curl admite la carga a FTP.

Use el comando a continuación para descargar archivos del servidor FTP con WGet:

wget --user = Debian - -password = 'Debian' ftp: // 192.168.0.112/copia de seguridad.zest
wget --user = Debian - -password = 'Debian' ftp: // 192.168.0.112/copia de seguridad.zest
--2021-06-20 05: 29: 06-- ftp: // 192.168.0.112/copia de seguridad.zest
=> 'copia de seguridad.ZST '
Conectando a 192.168.0.112: 21 ... conectado.
Iniciando sesión como Debian ... inició sesión!
==> Syst ... Hecho. ==> pwd ... hecho.
==> Tipo I ... Hecho. ==> cwd no necesario.
==> copia de seguridad de tamaño.ZST ... Hecho.
==> pasv ... hecho. ==> REPR COMPARTA.ZST ... Hecho.
respaldo.zest
[ <=> ] 0 --.-KB/s en 0s
2021-06-20 05:29:06 (0.00 b/s) - 'copia de seguridad.ZST 'guardado [0]
Usando Curl, agregue la bandera -u como:
Curl -u Debian: Debian 'ftp: // 192.168.0.112/copia de seguridad.ZST '-O Copia de seguridad.zest
Curl -u Debian: Debian 'ftp: // 192.168.0.112/copia de seguridad.ZST '-O Copia de seguridad.zest
% Total % recibido % XFERD Tiempo de tiempo promedio Tiempo de tiempo Corriente
DLOAD SUPTO TOTAL TOTAL GED SED VELOCIDAD
0 0 0 0 0 0 0 0-:-:--:-:---:-:-0
Para cargar un archivo a FTP con Curl, usamos la opción -t como:
Curl -u Debian: Debian -t "Backup1.ZST ”ftp: // 192.168.0.112/ftp/

Asegúrese de que exista el directorio y que el usuario tenga permisos de escritura.

NOTA: Aunque Curl admite una amplia variedad de protocolos, no proporciona descargas recursivas. Por otro lado, WGET admite descargas recursivas utilizando la opción recursiva como ofrece HTTP/HTTPS y FTP/FTPS, dicha funcionalidad.

Similitudes entre wget y curl

Ahora para la guinda del pastel:

  • Ambas herramientas admiten protocolos estándar como HTTP, HTTPS, FTP, FTPS.
  • Ambas herramientas descargan archivos de Internet.
  • Ambas herramientas admiten cookies HTTP.
  • Ambas herramientas admiten la salida a un archivo.
  • Herramientas gratuitas y desarrolladas activamente.
  • Ambas herramientas admiten transferencias de currículums.
  • Ambas herramientas admiten HTTP Post.

Diferencias entre wget y curl

Estas son algunas de las diferencias entre Curl y Wget:

  • WGet es una utilidad de transferencia simple, mientras que Curl ofrece mucho más.
  • Curl proporciona la Biblioteca Libcurl, que se puede ampliar en aplicaciones GUI. Wget, por otro lado, es una utilidad simple de línea de comandos.
  • WGET admite menos protocolos en comparación con Curl.
  • Las descargas recursivas no son compatibles en curl.
  • WGet está disponible de forma nativa en los sistemas Linux, mientras que Curl está fácilmente disponible en Windows Systems.
  • Curl admite múltiples transferencias paralelas.
  • Curl realiza descompresiones HTTP codificadas por transferencia, mientras que WGET no.
  • Curl admite HTTP bidireccional, mientras que WGET ofrece una publicación HTTP simple.
  • Curl admite más métodos de autenticación HTTP en comparación con WGET.
  • Wget no admite calcetines.
  • Wget requiere gnulib instalado.
  • A diferencia de Curl, las características como las cookies, las marcas de tiempo y las redirecciones de seguimiento están habilitados de forma predeterminada en wget. Curl requiere que cada uno se especifique explícitamente.

Conclusión

Este tutorial se centró en las similitudes y las diferencias entre el rizo. Aunque puede parecer que el rizo es la opción superior, hay casos en los que WGET es la mejor opción.

Mi consejo para ti es elegir lo que te funciona.