La página de manual del comando «curl» tiene la siguiente descripción:
cURL es una herramienta para transferir datos desde o hacia un servidor, utilizando uno de los protocolos soportados (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET y TFTP). El comando está diseñado para funcionar sin interacción del usuario.
Básicamente, puede utilizar cURL para descargar contenido de Internet. Por ejemplo, si ejecutó el comando cURL con la dirección web configurada como:
https://www.lifewire.com/curl-definition-2184508La página enlazada será descargada.
Por defecto, la salida será a la línea de comandos, pero también puede especificar un nombre de archivo para guardar el archivo. La URL especificada puede apuntar al dominio de nivel superior de un sitio, como por ejemplo:
www.lifewire.comO puede apuntar a páginas individuales en el sitio.
Puede utilizar cURL para descargar páginas web, imágenes, documentos y archivos físicos. Por ejemplo, para descargar la última versión de Ubuntu Linux puede simplemente ejecutar el siguiente comando:
curl -o ubuntu.iso http://releases.ubuntu.com/16.04.1/ubuntu-16.04.1-desktop-amd64.iso¿Debo usar cURL o Wget?
El uso de cURL o Wget depende de lo que usted está tratando de lograr.
El comando Wget se utiliza para descargar archivos de redes como Internet. La principal ventaja de usar el comando Wget es que se puede utilizar para descargar archivos de forma recursiva. Por lo tanto, si desea descargar un sitio web completo, puede hacerlo con un simple comando. El comando Wget también es bueno para descargar muchos archivos.
El comando cURL le permite utilizar comodines para especificar las URL que desea recuperar. Así que si sabes que hay una URL válida llamada:
http://www.mysite.com/images/image1.jpgY
http://www.mysite.com/images/image2.jpgA continuación, puede descargar ambas imágenes con una única URL especificada con el comando curl.
El comando Wget puede recuperarse cuando falla una descarga, mientras que el comando cURL no.
Obtenga una buena idea de las latas y los nudos con respecto al comando Wget y cURL. Extrañamente, una de las diferencias de esta página es que puedes escribir Wget usando sólo tu mano izquierda en un teclado QWERTY.
Hasta ahora ha habido muchas razones para usar Wget sobre cURL pero nada en cuanto a por qué usaría cURL sobre Wget.
El comando cURL soporta más protocolos que el comando Wget, también proporciona mejor soporte para SSL. También soporta más métodos de autenticación que Wget. El comando cURL también funciona en más plataformas que el comando Wget.
Características de cURL
Usando el comando cURL puede especificar múltiples URLs en la misma línea de comandos y si las URLs están en el mismo sitio, todas las URLs de ese sitio serán descargadas usando la misma conexión, lo cual es bueno para el rendimiento.
Puede especificar un rango para facilitar la descarga de URLs con nombres de rutas similares.
También hay una biblioteca cURL que el comando cURL usa llamada libcurl . Esto puede ser usado con múltiples lenguajes de programación y scripting para raspar la información de las páginas web.
Durante la descarga de contenido, aparecerá una barra de progreso con las velocidades de descarga o carga, el tiempo que el comando ha estado ejecutándose hasta ahora y el tiempo que le queda por recorrer.
El comando cURL funciona en archivos grandes de más de 2 GBs tanto para descargar como para cargar.
De acuerdo con esta tabla comparativa que compara las características de curl con otras herramientas de descarga, el comando cURL tiene la siguiente funcionalidad:
- Múltiples URLs
- Soporte para nombres de usuario y contraseñas
- Compatibilidad con IPv6
- Reintentar la descarga fallida
- Globbing/sequences de URL
- Soporte para Win32
- Compatibilidad con archivos grandes
- Soporte para GnuTLS
- Soporte para DarwinSSL
- Soporte Schannel
- Soporte para Cyassl
- Soporte para PolarSSL
- Soporte para AxTLS
- ID de sesión SSL
- Certificado Privado SSL
- soporte para netrc
- Soporte Metalink
- Soporte para IDN
- Limitación de ancho de banda
- Ojos felices
- CALCETINES
- TFTP
- Carga/descarga de SCP
- Carga/descarga SFTP
- Proxy HTTP
- Reanudación HTTP
- Rangos HTTP
- Seguir redirecciones HTTP
- HTTP Post
- HTTP Post Chunked
- Put HTTP
- Soporte para cookies
- HTTP 1.1
- HTTP 2 (actualización de texto plano)
- HTTP 2 (TLS ALPN)
- HTTP 2 (TLS NPN)
- Conexiones persistentes HTTP
- HTTPS
- Autenticación HTTP Digest
- HTTP NTLM Auth
- HTTP Negociar autenticación
- Parte de Multipost HTTP
- Desinflar HTTP gzip
- Currículum FTP
- Rangos de FTP
- Modo activo FTP
- FTP SSL
- Carga FTP
- FTP Kerberos
- Reutilización de la conexión FTP
- GOPHER