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¶m2=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.