Ser un ingeniero informático implica realizar diversas tareas, como verificar la conectividad de red, descargar archivos o configurar autenticaciones. Por lo general, estas tareas requieren diferentes herramientas. Bueno, no con cURL. La utilidad cURL de Linux ayuda con la mayoría de las cosas que un ingeniero informático necesita.
En este tutorial, aprenderás sobre cada función de línea de comandos que proporciona cURL.
¡Sigue leyendo y mejora tus habilidades con cURL!
Prerrequisitos
Este tutorial comprende demostraciones paso a paso. Para seguir adelante, asegúrate de tener lo siguiente:
- Una máquina Ubuntu: Este tutorial utiliza Ubuntu 18.04 con Apache instalado.
- A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
- A remote Linux host – This tutorial uses an Ubuntu 18.04.5 LTS machine.
- A user account on the remote Linux SSH host with sudo permissions.
Instalación de cURL Linux (Ubuntu)
Como cualquier otra herramienta, antes de aprovechar cURL, primero debes instalarlo en tu máquina. Puedes instalar cURL en cualquier sistema operativo basado en *nix, pero se usa más popularmente en Ubuntu.
cURL es una utilidad de línea de comandos que te permite realizar toneladas de tareas de la siguiente manera:
- Muestra el estado de varias configuraciones de red de máquinas Windows o servidores Linux
- Transfiere datos hacia o desde servidores
- Admite múltiples protocolos, como HTTP, FTP, IMAP, POP3, SCP y SFTP.
Para instalar cURL en tu máquina Ubuntu:
1. Conéctate a tu host Ubuntu con tu cliente SSH favorito.
2. Ejecuta los siguientes comandos, que no proporcionan salida pero crean un directorio llamado ~/install_curl_demo y cambian a ese directorio. Este directorio contendrá todos los recursos que crearás en este tutorial.
3. A continuación, ejecuta el comando apt update para actualizar el índice de paquetes del sistema.
Este comando asegura que el gestor de paquetes apt pueda encontrar la fuente adecuada al descargar cualquier paquete dependiente.

4. Ahora, ejecuta el comando apt install a continuación para instalar cURL en tu máquina.

5. Finalmente, ejecuta el siguiente comando para verificar la versión de cURL instalada en tu máquina. Hacerlo asegura que hayas instalado cURL correctamente.

Autenticación de Sitios Web
Diferentes protocolos que admite curl, como FILE, FTP, HTTP, HTTPS, POP3, SCP, SFTP, TELNET, etc., y no es necesario trabajar con ninguna interacción del usuario.
Si necesita autenticarse en algún sitio web usando el comando curl, deberá especificar el usuario y la contraseña en la propia URL. Pero si establece el nombre de usuario, cURL solicitará una contraseña.
Ejecute el siguiente comando curl, reemplazando [email protected]:password con su nombre de usuario y contraseña y la URL del sitio web con la suya para autenticarse.

Descarga de archivos con nombre original o cambiado
Descargar archivos o paquetes puede ser parte de su rutina diaria como administrador. Si es así, cURL seguramente le hará un favor. El comando curl
, complementado con las opciones -O
o -o
, le permite descargar archivos manteniendo el nombre original o estableciendo uno diferente.
Ejecute los siguientes comandos para descargar el paquete NGINX con el nombre original (-O
) como (*nginx-1.20.2.tar.gz*
) y con un nombre diferente (-o
) como *mytar.gz*
.

Ahora, ejecute el siguiente comando para descargar el paquete NGINX con el nombre mytar2.gz. Pero esta vez, solo verá una barra de progreso en lugar de ver muchos detalles en la salida.

Por último, ejecuta el comando ls
a continuación para listar todos los archivos en el directorio actual.
A continuación, puedes verificar que los archivos nginx-1.20.2.tar.gz, mytar.gz, y mytar2.gz existen.

Establecimiento del Tiempo de Conexión
Los sitios web de carga rápida son siempre ideales, y cURL tiene una forma de probar qué tan rápido puede conectarse un usuario a su sitio web. ¿Cómo? Al establecer un tiempo de espera de conexión, donde el comando curl
intenta conectarse a un sitio web dentro de un período de tiempo específico.
Establecer un tiempo de espera de conexión te permite determinar cuánto tiempo tarda un servidor en responder a una solicitud de datos que realizas.
Ejecuta el siguiente comando para intentar conectarte al sitio adamtheautomator.com durante 20
segundos antes de que la solicitud se agote.
Puedes ver a continuación que la opción -I
te permite incluir encabezados en la salida de información del sitio web.

Recuperación de Datos Usando la Petición GET
Has visto que establecer un tiempo de espera de conexión proporciona información sobre un sitio web en la sección “Establecimiento del Tiempo de Conexión”. Pero si esa información no es suficiente, considera enviar una petición GET.
Ejecuta el siguiente comando curl para usar una petición GET HTTP (–get) y recuperar datos del sitio web https://adamtheautomator.com.
A continuación, puedes ver la fuente real del sitio web adamtheautomator.com.

Enviando una solicitud POST
En lugar de obtener datos, también puedes enviar datos enviando una solicitud POST con el comando curl
. El parámetro -d
te permite enviar los datos especificados en una solicitud POST al servidor HTTP como lo hace un navegador cuando un usuario ha completado un formulario HTML.
Ejecuta el siguiente comando curl
para enviar una solicitud POST al sitio ptsv2.com
.

Ahora, ve a https://reqbin.com/ en tu navegador web para probar si la POST fue exitosa.
A continuación, notarás que el estado muestra (200 (OK), lo que significa que la solicitud se envió correctamente.

Buscar definiciones de palabras
¿Sabías que también puedes usar cURL como un diccionario? ¡Sí! cURL te permite buscar definiciones de palabras usando el protocolo DICT. Se pueden buscar muchos términos relacionados con IT utilizando el protocolo DICT, como reloj, ubuntu, RDP, etc.
La sintaxis del comando curl
usando el protocolo DICT es la siguiente:
Ejecuta cada comando a continuación para buscar definiciones de palabras en el diccionario disponible en el sitio web público dict.org
.
Como puedes ver a continuación, la primera búsqueda de definición de la palabra ubuntu no pudo encontrar una respuesta relevante y devolvió no se encontraron coincidencias. Pero la segunda devolvió un par de definiciones para la palabra reloj.

Prueba del Protocolo HTTP2 del Sitio Web
El comando curl es sin duda adecuado para descargar, cargar y autenticar sitios web. Pero otra cosa que hace que curl sea una gran herramienta es que puedes verificar si una URL específica admite el nuevo protocolo HTTP/2.
Ejecuta el siguiente comando curl para verificar si el sitio web https://adamtheautomator.com/ admite el protocolo HTTPS (–http2).
Verás una respuesta HTTP/2 200 en la salida como la que se muestra a continuación, lo que significa que el sitio utiliza el protocolo HTTP2.

Conclusión
cURL, siendo una herramienta gratuita, cuenta con muchas características. Y en este tutorial, has experimentado diferentes ejemplos de primera mano de cómo usar cURL en Linux. Ya sea descargando archivos, autenticando sitios web, enviando solicitudes POST o GET, etc., cURL no te decepcionará.
¿Por qué no construir sobre este conocimiento recién adquirido? ¿Quizás aprender cómo transferir archivos y ejecutar comandos y scripts usando el comando curl? ¿O descubrir comandos de API de cURL?