🌀 Introducción Práctica a cURL: El Cliente HTTP desde la Terminal

Hey Coders, bienvenidos a esta guía práctica de cURL, una herramienta de línea de comandos open source que permite transferir datos usando URLs.

El nombre cURL proviene de Client URL, y su objetivo es facilitar la interacción con recursos web directamente desde la terminal, sin necesidad de interfaces gráficas como Postman o Insomnia.


🌐 ¿Por qué usar cURL?

cURL es ideal para programadores, sysadmins y testers porque:

  • No necesita interfaz gráfica
  • Es más rápida para automatizar tareas
  • Soporta múltiples protocolos: HTTP, HTTPS, FTP, FTPS, IMAP, GOPHER y más
  • Viene preinstalada en muchas distros Linux y está disponible en Windows y macOS

⚙️ Instalación

En Linux:

La mayoría de distribuciones ya incluyen curl. Verifícalo con:

curl --version

En Windows:

Puedes descargarlo desde curl.se/windows.


🔎 Empezando con cURL

Para practicar usaremos APIs gratuitas como:


📥 Realizar Peticiones GET

curl https://jsonplaceholder.typicode.com/users?_limit=2
curl https://reqres.in/api/users

Por defecto, la respuesta se imprime en la salida estándar (stdout).

Puedes añadir -v para ver información detallada de la petición y la respuesta:

curl -v https://jsonplaceholder.typicode.com/users?_limit=2

📄 Ver Solo Headers

Para mostrar solo los headers:

curl -i https://jsonplaceholder.typicode.com/posts/2

O también:

curl --head https://jsonplaceholder.typicode.com/posts/2

💾 Guardar la Respuesta en un Archivo

curl -o resultado.txt https://jsonplaceholder.typicode.com/posts/1

Usa -O (mayúscula) para guardar el archivo con su nombre original:

curl -O https://example.com/archivo.zip

También puedes limitar la velocidad de descarga:

curl -O --limit-rate 1000B https://example.com/archivo.zip

📨 Enviar Datos con POST

curl --data "title=hello post&body=this is my first post" https://jsonplaceholder.typicode.com/posts

✏️ Enviar PUT Requests

curl -X PUT -d "title=my new post" https://jsonplaceholder.typicode.com/posts/1

❌ DELETE Requests

curl -X DELETE https://jsonplaceholder.typicode.com/posts/1

🔐 Autenticación HTTP

curl -u usuario:contraseña https://example.com/protected

🔄 Seguir Redirecciones

Algunas URLs redirigen (como Google). Para seguirlas:

curl -L https://google.com

📤 FTP con cURL

Subir archivos:

curl -u usuario:contraseña -T archivo.txt ftp://ftp.tusitio.com

Descargar archivos:

curl -u usuario:contraseña -O ftp://ftp.tusitio.com/archivo.txt

🎨 Herramientas útiles para visualizar JSON


📚 Recursos Adicionales


¿Te ha sido útil esta guía? Puedes integrar cURL fácilmente en tus scripts, flujos de CI/CD o automatizaciones. Es una herramienta que todo desarrollador debería dominar.

¡Nos vemos en la terminal, Coders! 🧠💻