logo

Comando curl en Linux con ejemplos

En el ámbito de Linux, dominar la línea de comandos es esencial para un uso eficiente y potente del sistema operativo. Entre la cantidad de herramientas de línea de comando disponibles, ` curl`> destaca como una de las utilidades más versátiles y potentes. Desarrollado originalmente por Daniel Stenberg, ` curl`> es una herramienta de línea de comandos y una biblioteca para transferir datos con URL. Admite una amplia gama de protocolos, lo que la convierte en una herramienta invaluable para buscar, cargar y administrar datos a través de Internet. En esta guía completa, profundizamos en las complejidades del ` curl`> comando en Linux, explorando sus características, opciones y diversos casos de uso.

Comprender los conceptos básicos

En esencia, ` curl`> está diseñado para transferir datos utilizando varios protocolos como HTTP, HTTPS, FTP, SCP, SFTP y más. Su sintaxis es sencilla:



curl [options] [URL]>

Aquí,

[> options> ]>Puede haber varios indicadores de línea de comando que modifican el comportamiento decurl>

concatenar cadenas

[> URL> ]>especifica la ubicación desde la cual recuperar o enviar datos.



Obteniendo datos usando el comando curl

Uno de los casos de uso más comunes de ` curl`> está obteniendo datos de una URL. Podría ser una página HTML simple, un archivo o cualquier recurso accesible a través de una URL. Para buscar una página web usando ` curl`> , simplemente proporciona la URL como argumento:

curl https://example.com>

Este comando recuperará el contenido HTML de la URL especificada y lo mostrará en la terminal.

curl https://www.techcodeview.com>

Esto debería mostrar el contenido de la URL en el terminal. La sintaxis de la URL depende del protocolo y se pueden escribir varias URL como conjuntos como:



curl http://site.{one, two, three}.com>

Las URL con series de secuencia numérica se pueden escribir como:

curl ftp://ftp.example.com/file[1-20].webp'ltr'>Medidor de progreso: curl muestra un medidor de progreso durante el uso para indicar la velocidad de transferencia, la cantidad de datos transferidos, el tiempo restante, etc. curl -# -O ftp://ftp.example.com/file.zip curl --silent ftp: //ftp.example.com/file.zip Si prefiere una barra de progreso en lugar de un medidor, puede usar la opción -# como en el ejemplo anterior, o –silent si desea desactivarla por completo.    Ejemplo: Manejo de solicitudes HTTP usando el comando curl `curl` le permite enviar solicitudes HTTP personalizadas con varios métodos como GET, POST, PUT, DELETE, etc. Por ejemplo, para enviar una solicitud GET: curl -X GET https:/ /api.example.com/resource De manera similar, para enviar una solicitud POST con datos: curl -X POST -d 'key1=value1&key2=value2' https://api.example.com/resource En este ejemplo, ` -d` flag se utiliza para especificar los datos que se enviarán con la solicitud. Descarga de archivos usando el comando curl curl también se usa ampliamente para descargar archivos de Internet. Para descargar un archivo, simplemente proporcione la URL del archivo como argumento: -o: guarda el archivo descargado en la máquina local con el nombre proporcionado en los parámetros.    Sintaxis: curl -o [nombre_archivo] [URL...] Ejemplo: curl -o hello.zip ftp://speedtest.tele2.net/1MB.zip Salida: El ejemplo anterior descarga el archivo del servidor FTP y lo guarda con el nombre hola.zip.   -O: Esta opción descarga el archivo y lo guarda con el mismo nombre que en la URL.    Sintaxis: curl -O [URL...] Ejemplo: curl -O ftp://speedtest.tele2.net/1MB.zip Salida: Carga de archivos Además de descargar, `curl` también puede cargar archivos a un servidor usando varios protocolos. Por ejemplo, para cargar un archivo a través de FTP: curl -T uploadfile.txt ftp://example.com/upload/ En este ejemplo, ` -T uploadfile.txt` especifica el archivo que se cargará (` uploadfile.txt` ) . El indicador `-T` se utiliza para cargar un archivo con FTP. `curl` luego envía el archivo especificado al servidor FTP ubicado en `ftp://example.com/upload/`. Esto es útil para automatizar la carga de archivos o transferir archivos a través de FTP desde la línea de comandos. Manejo de la autenticación curl admite varios métodos de autenticación, incluidos Básico, Digest y OAuth. Puede especificar credenciales de autenticación usando el indicador ` -u`: curl -u nombre de usuario:contraseña https://example.com/api El indicador ` -u` se usa para especificar las credenciales de autenticación (` nombre de usuario:contraseña` ). En este ejemplo, `curl` incluirá estas credenciales en el encabezado de la solicitud al acceder a `https://example.com/api`. Esto se usa comúnmente al acceder a recursos protegidos o API que requieren autenticación. Ejemplos de Curl Command -C – Opción: esta opción reanuda la descarga que se detuvo por algún motivo. Esto es útil cuando la descarga de archivos grandes se interrumpió.    Sintaxis: curl -C - [URL...] Ejemplo: curl -C - -O ftp://speedtest.tele2.net/1MB.zip Salida: –limit-rate Opción: esta opción limita el límite superior de la velocidad de transferencia de datos y lo mantiene alrededor del valor dado en bytes.    Sintaxis: curl --limit-rate [valor] [URL] Ejemplo: curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip Salida: El comando limita la descarga a 1000K bytes.   -u Opción: curl también proporciona opciones para descargar archivos desde servidores FTP autenticados por el usuario.    Sintaxis: curl -u {nombre de usuario}:{contraseña} [FTP_URL] Ejemplo: curl -u demo:contraseña -O ftp://test.rebex.net/readme.txt Salida: -T Opción: esta opción ayuda a cargar un archivo al servidor FTP.    Sintaxis: curl -u {nombre de usuario}:{contraseña} -T {nombre de archivo} {FTP_Location} Si desea agregar un archivo FTP ya existente, puede usar la opción -a o –append.   Opción –libcurl: esta opción es muy útil desde la perspectiva del desarrollador. Si esta opción se agrega a cualquier comando cURL, genera el código fuente C que usa libcurl para la opción especificada. Es un código similar a la implementación de la línea de comando.    Sintaxis: curl [URL...] --libcurl [nombre de archivo] Ejemplo: curl https://www.techcodeview.com> log.html --libcurl code.c Salida: El ejemplo anterior descarga el HTML y lo guarda en el registro .html y el código en el archivo code.c. El siguiente comando muestra las primeras 30 líneas del código.   Envío de correo: como curl puede transferir datos a través de diferentes protocolos, incluido SMTP, podemos usar curl para enviar correos.    Sintaxis: curl –url [URL SMTP] –mail-from [correo_remitente] –mail-rcpt [correo_receptor] -n –ssl-reqd -u {correo electrónico}:{contraseña} -T [archivo de texto de correo] Protocolo DICT: Libcurl define el protocolo DICT que se puede utilizar para obtener fácilmente la definición o el significado de cualquier palabra directamente desde la línea de comando.    Sintaxis: curl [protocolo:[diccionario_URL]:[palabra] Ejemplo: curl dict://dict.org/d:overclock Salida: Nota: Hay otras opciones proporcionadas por cURL que se pueden verificar en la página principal. La biblioteca libcurl se ha adaptado a varios lenguajes de programación. Es recomendable visitar el sitio del proyecto individual para obtener documentación. Conclusión En conclusión, dominar la línea de comandos en Linux es fundamental para maximizar la eficiencia y efectividad en la navegación del sistema operativo, con ` curl ` emergiendo como una herramienta destacada debido a su versatilidad y capacidades sólidas para la transferencia de datos a través de varios protocolos. Desarrollado por Daniel Stenberg, 'curl' facilita la búsqueda, carga y gestión de datos a través de Internet. Esta guía ha ofrecido una exploración en profundidad de las características, opciones y diversas aplicaciones de cur l, iluminando su carácter indispensable para los usuarios de Linux que buscan una funcionalidad óptima de la línea de comandos.>