¿Cómo saber cuál de estas dos herramientas de línea de comandos es mejor?. Dado que cumplen funciones similares, me parece que lo mejor es enumerar algunas de sus características más importantes.
Características comunes
La principal función de ambas es descargar contenido vía protocolos FTP, HTTP y HTTPS utilizando sintaxis de URL.
Ambos están desarrollados con codigo abierto y software libre.
cURL
- Trabaja con la biblioteca multiprotocolo y multiplataforma libcurl.
- Ofrece una amplia variedad de códigos de retorno predefinidos.
- Realiza las operaciones utilizando HTTP 1.1.
- Soporta una gran variedad de protocolos (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET y TFTP).
- Soporta certificados SSL.
- Permite enviar datos por medio de HTTP POST, HTTP PUT, carga de archivos FTP, carga de archivos por medio de formularios HTTP .
- Soporta proxies, cookies, autenticación usuario+contraseña.
- Soporta compresión de archivos con gzip y también descompresión.
- Su biblioteca (libcurl) se puede usar desde más de 30 lenguajes distintos.
- No tiene biblioteca, es un comando desarrollado principalmente para versiones de sistemas operativos derivados de UNIX, aunque tambien existen versiones del programa para MS Windows y Mac OS X.
- Permite realizar descargas recursivas (si se quiere obtener varios niveles o todo el contenido de la fuente).
- Realiza las operaciones utilizando HTTP 1.0.
- Soporta HTTP POST.
- Es parte del proyecto GNU, con licencia GPL.
- Soporta descargas a través de proxies
- Soporta SSL/TSL.
Ambas herramientas ofrecen muchas opciones y son bastante robustas. Me parece que la decisión de cuál utilizar debería de tomarse dependiendo de la situación que se tenga entre manos. Para una simple descarga de archivos via FTP o copiar un sitio web entero es mejor y más sencillo utilizar Wget. cURL es un poco más complejo y nos brinda un rango más amplio de posibilidades, es por esto que debería ser utilizado cuando queramos más portabilidad, vayamos a hacer uso de diferentes protocolos o queramos enviar datos también.
Para una comparación más detallada de cURL, Wget y otras herramientas de descarga refiérase a esta tabla
