CURL, una herramienta indispensable.

Inicio / Servidores / CURL, una herramienta indispensable.

CURL es una herramienta de línea de comandos y una librería que se usa para transferir datos entre un dispositivo y un servidor usando URLs. Esta herramienta es gratuita y de código abierto; soporta varios protocolos, entre ellos HTTP y FTP. Entre sus principales usos destacan la transferencia de datos entre dispositivos y sitios web o la comunicación con APIs. Es indispensable conocer esta herramienta ya que se encuentra disponible en los sistemas operativos más utilizados.

Siempre he pensado que aprender los fundamentos de cualquier área de conocimiento es crucial; en especial si se pretende dominar dicha área. El desarrollo web no es la excepción, es indispensable aprender y tratar de dominar lo fundamental antes de usar otro tipo de conceptos o herramientas.

Considero que CURL es una de esas herramientas fundamentales que cualquier desarrollador web serio debe conocer, por lo menos a nivel básico. En lo personal, esta herramienta me ha sido útil en múltiples ocasiones en las que otras utilidades como POST MAN no están disponibles. En otras ocasiones, lo que he querido probar es tan simple que instalar alguna de estas otras herramientas elegantes es un desperdicio de tiempo.

Sintaxis básica de CURL.

La sintaxis del comando CURL es la siguiente:

curl opciones url

Opciones

A continuación te dejo las opciones más básicas del comando CRUL

-X –request <método>  El método a usar en la petición, usualmente GET o POST

-H –header <encabezado>  Pasa un encabezado específico dentro de la petición.

-d –data <datos> Envía los datos especificados en un POST request.

–data-binary <datos> Envía los datos sin ningún procesamiento extra.

Ejemplos prácticos del comando CURL.

Petición de una página web

Si queremos hacer un get request a la url http://example.com, usaremos el comando CURL de la siguiente manera:

curl http://example.com

Así de simple. Este comando nos devolverá el código html de la página principal de example.com.

Petición a un API

En internet existen APIs gratuitas que te permiten poner en práctica este tipo de peticiones, ya sea para probar CURL o para hacer peticiones mientras aprendes algún lenguaje de programación, framework o alguna otra tecnología.

Una de estas APIs es The Simpsons Quote API, la cual retorna una frase de esta famosa serie de manera aleatoria. En este caso la petición se haría de la siguiente manera:

curl https://thesimpsonsquoteapi.glitch.me/quotes

El resultado sería algo como lo siguiente:

CURL - Respuesta de una API

Petición con parámetros.

Si quisieramos hacer una petición POST con datos en formato json, la sintaxis sería la siguiente.

curl -X POST -H "Content-Type: application/json" --data '{"params" : {"type" : "paid"}' http://example.com/endpoint

En Windows hay que especificar las datos a pasar con –data-binary y escapando las comillas dobles.

curl -X POST -H "Content-Type: application/json" --data-binary "{\"params\" : {\"type\" : \"paid\"}' http://example.com/endpoint

En concusión, CURL es una herramienta bastante útil en casos específicos si lo que necesitamos es un comando práctico y rápido. Por supuesto para peticiones con más parámetros o que generen respuestas más largas es recomendable usar otras herramientas que nos faciliten la tarea.