curl es una herramienta de línea de comandos utilizada para transferir datos desde o hacia un servidor, empleando diversos protocolos.


curl es una herramienta de línea de comandos utilizada para transferir datos desde o hacia un servidor, empleando diversos protocolos. Es especialmente popular en entornos Unix/Linux, pero también está disponible en otros sistemas operativos. El nombre "curl" proviene de "Client URL", lo que refleja su propósito principal de interactuar con URLs.

Funcionamiento de curl

curl funciona mediante la utilización de diversas bibliotecas, principalmente la biblioteca libcurl, que es responsable de manejar los protocolos de transferencia de datos. Cuando se ejecuta un comando curl, este realiza una solicitud HTTP (u otro protocolo soportado) y maneja la respuesta del servidor. Puede gestionar diferentes tipos de solicitudes, incluyendo GET, POST, PUT, DELETE, y más.

Usos comunes de curl

  1. Descarga de archivos: curl puede descargar archivos desde un servidor.
  2. Envío de datos: Se puede utilizar para enviar datos a un servidor, por ejemplo, en formularios web.
  3. Automatización de pruebas: Ideal para pruebas de API y otros servicios web.
  4. Transferencia de archivos: Compatible con FTP y SFTP para transferencias de archivos.

Descargar un Archivo

Para descargar un archivo desde una URL, simplemente usa:

curl -O http://example.com/file.txt
  • -O: Guarda el archivo con su nombre original.

Especificar un nombre de archivo

Para guardar el archivo con un nombre específico:

curl -o myfile.txt http://example.com/file.txt
  • -o: Permite especificar el nombre del archivo de destino.

Realizar una solicitud GET

La solicitud GET es la más básica y es el comportamiento por defecto de curl.

curl http://example.com

Realizar una solicitud POST

Para enviar datos a través de una solicitud POST:

curl -X POST -d "param1=value1&param2=value2" http://example.com/form
  • -X POST: Especifica que la solicitud es de tipo POST.
  • -d: Envía los datos especificados en la solicitud.

Añadir encabezados a una solicitud

Para añadir encabezados HTTP a una solicitud:

curl -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" http://example.com
  • -H: Añade un encabezado a la solicitud.

Descargar Archivos de un FTP

Para descargar un archivo utilizando FTP:

curl -u username:password ftp://ftp.example.com/file.txt -O
  • -u: Proporciona las credenciales de usuario.

Seguimiento de Redirecciones

Para seguir redirecciones HTTP automáticamente.

curl -L http://example.com
  • -L: Sigue redirecciones.

Guardar la Salida en un Archivo

Para guardar la salida de una solicitud en un archivo:

curl http://example.com -o output.html
  • -o: Guarda la salida en un archivo específico.

Ver los Encabezados de la Respuesta

Para ver solo los encabezados de la respuesta:

curl -I http://example.com
  • -I: Muestra solo los encabezados de la respuesta.

Tiempo de Espera

Para establecer un tiempo de espera máximo:

curl --max-time 10 http://example.com
  • --max-time: Especifica el tiempo máximo de espera en segundos.

Conclusión

curl es una herramienta extremadamente versátil y poderosa para la transferencia de datos en línea. Su capacidad para manejar múltiples protocolos y su amplia gama de opciones la convierten en una herramienta indispensable para desarrolladores, administradores de sistemas y profesionales de TI. Con los ejemplos y opciones descritas en esta guía, deberías estar bien equipado para comenzar a utilizar curl en tus proyectos y tareas diarias.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación