Comando cURL en Linux con 30 ejemplos prácticos

El comando cURL en Linux es una poderosa herramienta para transferir datos hacia o desde un servidor utilizando varios protocolos, incluidos HTTP, HTTPS, FTP y más. Se utiliza comúnmente para automatizar solicitudes web, probar API y descargar archivos de Internet. cURL es versátil y puede manejar una amplia gama de tareas, desde simples descargas de archivos hasta envíos complejos de formularios de varias partes.

En esta guía, exploraremos 30 ejemplos prácticos del uso del comando cURL en Linux. Estos ejemplos cubrirán casos de uso comunes, como la descarga de archivos, el envío de datos a API, el manejo de la autenticación y más, mostrando la flexibilidad y el poder de cURL para diversas tareas.

La sintaxis del comando cURL

Antes de continuar con la demostración de 30 ejemplos con el comando cURL, es una buena idea comprender primero su sintaxis:

curl [options] [URL]

En esta sintaxis:

  • opciones: Estos son los parámetros que modifican el comportamiento de cURL.
  • URL: esta es la dirección del archivo o recurso con el que desea interactuar.

Opciones del comando rizo

cURL ofrece muchas opciones que te permiten personalizar su comportamiento. Estas son algunas de las opciones más utilizadas:

  • -O: Descarga el archivo desde la URL especificada.
  • -I: recupera el encabezado HTTP del servidor.
  • -u: especifica las credenciales de usuario para la autenticación del servidor.
  • -d: envía los datos especificados en una solicitud POST al servidor.
  • -x: especifica la dirección de proxy que se utilizará para las solicitudes.

30 ejemplos de comando cURL en Linux

Ahora, profundicemos en algunos ejemplos prácticos del uso del comando cURL. Cada ejemplo irá precedido de una explicación seguida de una demostración del resultado.

Ejemplo 1: obtener datos de una URL

El uso más básico de cURL es buscar el contenido de una página web. Así es como puedes hacerlo:

curl https://www.example.com

Este comando recupera el contenido HTML de la página web en www.example.com.

Ejemplo 2: descargar un archivo

cURL también se puede utilizar para descargar archivos de Internet. He aquí un ejemplo:

curl -O https://www.example.com/file.txt

Este comando descarga el archivo file.txt de www.example.com y lo guarda en el directorio actual.

Ejemplo 3: enviar una solicitud POST

Puede utilizar cURL para enviar solicitudes POST a un servidor. He aquí cómo:

curl -d "param1=value1&param2=value2" -X POST http://www.example.com

Este comando envía una solicitud HTTP POST a www.example.com con los datos parámetro1=valor1¶m2=valor2.

Ejemplo 4: obtención de encabezados HTTP

Si desea recuperar los encabezados HTTP de un servidor, puede utilizar la opción -I. He aquí un ejemplo:

curl -I https://www.example.com

Este comando recupera los encabezados HTTP de www.example.com.

Ejemplo 5: uso de un proxy

Si necesita utilizar un proxy, especifíquelo utilizando la opción -x. He aquí cómo:

curl -x http://proxy.example.com:8080 https://www.example.com

Este comando envía la solicitud a www.example.com a través del proxy en proxy.example.com:8080.

Ejemplo 6: envío de cookies

Puede enviar cookies junto con su solicitud utilizando la opción -b. He aquí un ejemplo:

curl -b "name=value" https://www.example.com

Este comando envía una cookie con nombre=valor a www.example.com.

Ejemplo 7: envío de agente de usuario

Los sitios web suelen utilizar el agente de usuario para ofrecer contenido adecuado para el navegador del cliente. Para enviar un agente de usuario con su solicitud, use la opción -A:

curl -A "Mozilla/5.0" https://www.example.com

Este comando envía una solicitud a www.example.com con el agente de usuario configurado como Mozilla/5.0.

Ejemplo 8: seguir redirecciones

Algunas URL redirigen a otras URL. Para seguir estas redirecciones, use la opción -L:

curl -L https://www.example.com

Este comando sigue cualquier redireccionamiento desde www.example.com.

Ejemplo 9: guardar la salida en un archivo

Para guardar el resultado de un comando cURL en un archivo, use la opción -o:

curl -o output.html https://www.example.com

Este comando guarda la salida de www.example.com en salida.html.

Ejemplo 10: Carga de archivos con FTP

cURL puede cargar archivos a un servidor mediante FTP. He aquí cómo:

curl -T file.txt ftp://ftp.example.com --user username:password

Este comando carga el archivo.txt en ftp.example.com utilizando el nombre de usuario y la contraseña proporcionados.

Ejemplo 11: reanudar una descarga

Si una descarga se interrumpe, puedes reanudarla con la opción -C –:

curl -C - -O https://www.example.com/file.txt

Este comando reanuda la descarga del archivo.txt desde www.example.com.

Ejemplo 12: Descarga de varios archivos

Para descargar varios archivos, especifique varias URL:

curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt

Este comando descarga file1.txt y file2.txt desde www.example.com.

Ejemplo 13: Envío de una solicitud DELETE

Para enviar una solicitud DELETE, utilice la opción -X DELETE:

curl -X DELETE https://www.example.com/resource

Este comando envía una solicitud DELETE a la URL www.example.com/resource.

Ejemplo 14: Salida detallada

Para obtener información detallada sobre la solicitud y la respuesta, utilice la opción -v:

curl -v https://www.example.com

Este comando proporciona una salida detallada para la solicitud a www.example.com.

Ejemplo 15: Modo silencioso

Para suprimir el medidor de progreso y los mensajes de error, utilice la opción -s:

curl -s https://www.example.com

Este comando recupera el contenido de www.example.com en modo silencioso.

Ejemplo 16: Visualización del progreso de la descarga

Para mostrar el progreso de la descarga en un formato más legible, use la opción #:

curl -# -O https://www.example.com/file.txt

Este comando descarga el archivo.txt de www.example.com y muestra el progreso como una barra de progreso.

Ejemplo 17: Envío de datos JSON

Para enviar datos JSON en una solicitud POST, use la opción -H para configurar el tipo de contenido:

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com

Este comando envía una solicitud POST con datos JSON a www.example.com.

Ejemplo 18: uso de cURL con una API

cURL se utiliza a menudo para interactuar con las API. He aquí un ejemplo:

curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com

Este comando envía una solicitud a https://api.example.com con un encabezado de autorización.

Ejemplo 19: Descarga de archivos en segundo plano

Para descargar un archivo en segundo plano, use la opción -O con un signo comercial al final:

curl -O https://www.example.com/file.txt &

Este comando descarga el archivo.txt de www.example.com en segundo plano.

Ejemplo 20: Envío de datos desde un archivo

Para enviar datos desde un archivo en una solicitud POST, use el símbolo @:

curl -d @data.txt -X POST https://www.example.com

Este comando envía una solicitud POST con los datos de data.txt a www.example.com.

Ejemplo 21: Obteniendo contenido del servidor FTP

cURL se puede utilizar para recuperar contenido de un servidor FTP. He aquí cómo:

curl ftp://ftp.example.com/file.txt --user username:password

Este comando recupera el archivo.txt de ftp.example.com utilizando el nombre de usuario y la contraseña proporcionados.

Ejemplo 22: Obtener contenido de un sitio web protegido con contraseña

Para recuperar contenido de un sitio web protegido con contraseña, utilice la opción -u:

curl -u username:password https://www.example.com

Este comando recupera el contenido de www.example.com utilizando el nombre de usuario y la contraseña proporcionados.

Ejemplo 23: Obtener contenido de un sitio web con SSL

Para recuperar contenido de un sitio web con SSL, use la opción -k:

curl -k https://www.example.com

Este comando recupera el contenido de www.example.com, ignorando las advertencias del certificado SSL.

Ejemplo 24: Envío de una solicitud PUT

Para enviar una solicitud PUT, utilice la opción -X PUT:

curl -X PUT -d "data" https://www.example.com/resource

Este comando envía una solicitud PUT con los datos "datos" a www.example.com/resource.

Ejemplo 25: Obteniendo los encabezados de respuesta

Para recuperar solo los encabezados de respuesta, use la opción -I:

curl -I https://www.example.com

Este comando recupera solo los encabezados de respuesta de www.example.com.

Ejemplo 26: Obtener contenido de un sitio web con cookies

Para recuperar contenido de un sitio web con cookies, utilice la opción -b:

curl -b cookies.txt https://www.example.com

Este comando recupera el contenido de www.example.com utilizando las cookies almacenadas en cookies.txt.

Ejemplo 27: Obtener contenido de un sitio web con encabezados personalizados

Para recuperar contenido de un sitio web con encabezados personalizados, use la opción -H:

curl -H "Custom-Header: Value" https://www.example.com

Ejemplo 28: Obtener contenido de un sitio web con un tiempo de espera

Para recuperar contenido de un sitio web con un tiempo de espera, utilice la opción -m:

curl -m 10 https://www.example.com

Este comando recupera el contenido de www.example.com con un tiempo de espera de 10 segundos.

Ejemplo 29: Obtener contenido de un sitio web en modo detallado

Para recuperar contenido de un sitio web en modo detallado, utilice la opción -v:

curl -v https://www.example.com

Este comando recupera el contenido de www.example.com en modo detallado y muestra información detallada sobre la solicitud y la respuesta.

Ejemplo 30: Obtener contenido de un sitio web y mostrar el medidor de progreso

Para recuperar contenido de un sitio web y mostrar el medidor de progreso, use la opción -#:

curl -# https://www.example.com

Este comando recupera el contenido de www.example.com y muestra el medidor de progreso.

Conclusión

Dominar el comando cURL con estos ejemplos prácticos puede mejorar significativamente su capacidad para interactuar con servicios web, automatizar transferencias de datos y solucionar problemas de red. La práctica regular con diferentes opciones y comandos de cURL profundizará su comprensión y le permitirá aprovechar todo su potencial en sus flujos de trabajo de Linux. Disfrute de la versatilidad y eficiencia que cURL aporta a su kit de herramientas de línea de comandos.

Joshua James
Sígueme
Últimas entradas de Joshua James (ver todo)

Deja un comentario