GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es un comando cURL y cómo usarlo?

El comando cURL es una herramienta importante de Linux, comúnmente utilizada para la transferencia de datos y la resolución de problemas de conexión. cURL funciona con libcurl, que es una biblioteca de transferencia de URL gratuita en el lado del cliente.

Profundicemos más y aprendamos a usarlo.

Comprobar la versión de cURL

Al igual que con cualquier comando de Linux, antes de comenzar a trabajar con cURL, debemos iniciar sesión en nuestro VPS. Si necesita ayuda, consulte este tutorial sobre SSH.

Primero, verifiquemos qué versión de cURL está disponible con el siguiente comando:

curl --version

El resultado mostrará la versión de cURL una lista de protocolos compatibles. Ahora podemos ver algunos ejemplos de comandos cURL

Sintaxis básica del comando cURL

Aprendamos a usar los comandos cURL. La sintaxis básica de cURL se ve así:

curl [OPTIONS] [URL]

El uso más simple de cURL es mostrar el contenido de una página. El siguiente ejemplo representará la página web de inicio de testdomain.com .

curl testdomain.com

Esto generará el código fuente completo de la página de inicio del dominio. Si no se especifica ningún protocolo, curl interpretará esto como HTTP.

Opciones de archivo de comando cURL

Los comandos cURL pueden descargar archivos desde una ubicación remota. Puedes hacerlo de dos formas diferentes:

  • -O guardará el archivo en el directorio de trabajo actual con el mismo nombre de archivo que remoto.
  • -o le permite especificar un nombre de archivo o ubicación diferente

Un ejemplo de esto es como se muestra a continuación:

curl -O http://testdomain.com/testfile.tar.gz

El comando anterior guardará esto como testfile.tar.gz .

curl -o newtestfile.tar.gz http://testdomain.com/testfile.tar.gz

El comando anterior guardará esto como newtestfile.tar.gz .

Si por alguna razón, la descarga se interrumpe, puede reanudarla usando cURL. Puedes hacer esto con el siguiente comando:

curl -C - -O  http://testdomain.com/testfile.tar.gz

Con cURL, también podemos descargar varios archivos, como se muestra a continuación:

curl -O http://testdomain.com/testfile.tar.gz -O http://mydomain.com/myfile.tar.gz

Si desea descargar varios archivos desde varias URL, enumérelos todos en un archivo. Los comandos cURL se pueden combinar con xargs para descargar las diferentes URL.

Por ejemplo, si tenemos un archivo allUrls.txt que contiene una lista de todas las URL que se descargarán, luego se puede usar el siguiente ejemplo para descargar todos los archivos.

xargs –n 1 curl -O < allUrls.txt

Comandos cURL para HTTP

cURL también se puede usar cuando hay un servidor proxy. Si está detrás de un servidor proxy escuchando en el puerto 8090 en sampleproxy.com, descargue los archivos como se muestra a continuación:

curl -x  sampleproxy.com:8090 -U username:password -O http:// testdomain.com/testfile.tar.gz

En el ejemplo anterior, puede omitir -U nombre de usuario:contraseña si el proxy no requiere un método de autenticación.

Una solicitud HTTP típica siempre contendrá un encabezado. El encabezado HTTP envía información adicional sobre el servidor web remoto junto con la solicitud real. Si bien a través de las herramientas de desarrollo de un navegador puede verificar la información del encabezado, puede verificarla usando un comando cURL.

A continuación se muestra un ejemplo de cómo recuperar la información del encabezado de un sitio web.

curl -I www.testdomain.com

Usando cURL, puede hacer un GET y un POST petición. UN OBTENER solicitud será la siguiente:

curl http://mydomain.com

Una muestra de un POST la solicitud será como se muestra a continuación:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp

Por aquí text=Hola es el parámetro de solicitud POST. Este comportamiento sería similar a los formularios HTML.

También puede especificar varios métodos HTTP en un solo comando cURL. Haga esto usando –next opción, así:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp

Contiene una solicitud POST seguida de una solicitud GET.

Cada solicitud HTTP tendrá un agente de usuario que se envía como parte de la solicitud. Esto indica los detalles del navegador web del cliente. De forma predeterminada, una solicitud de cURL contiene curl y el número de versión como detalles del agente de usuario. Una salida de muestra es la que se muestra a continuación:

“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”

Puede cambiar esta información predeterminada del agente de usuario usando el siguiente comando:

curl -I http://mydomain.com –-user-agent “My new Browser”

Ahora la salida cambiada será:

“GET / HTTP/1.1” 200 “_” ”My new Browser”

cURL para cookies

Los comandos cURL se pueden usar para verificar qué cookies se descargan en cualquier URL. Entonces, si está accediendo a https://www.samplewebsite.com , luego puede generar un archivo, guardar las cookies y acceder a ellas usando cat o un editor VIM.

A continuación se muestra una muestra de dicho comando:

curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O

Del mismo modo, si tiene las cookies en un archivo, puede enviarlo al sitio web. Un ejemplo de dicho comando es el que se muestra a continuación:

curl --cookie Mycookies.txt https://www. samplewebsite.com

cURL para FTP

¡El comando cURL es compatible con FTP! Puede usarlos para descargar archivos desde un servidor remoto.

curl -u username:password -O ftp://sampleftpserver/testfile.tar.gz

En el comando anterior, ftp://sampleftpserver es un servidor FTP que acepta conexiones. El nombre de usuario y la contraseña se pueden omitir para conexiones FTP anónimas. Escriba el comando y observe cómo se llena la barra de progreso.

También puede cargar archivos con el siguiente comando:

curl -u username:password -T testfile.tar.gz ftp://sampleftpserver

Nuevamente, podemos omitir el nombre de usuario y la contraseña para conexiones FTP anónimas.

Limitación de salida cURL

Mientras usa un cURL, no puede saber qué tan grande será la salida. Puede restringir el ancho de banda para asegurarse de que cURL no lo reduzca.

El siguiente comando restringe el ancho de banda a 100K:

curl --limit-rate 100K http://testdomain.com/samplefile.tar.gz -O

Conclusión

cURL es un comando poderoso y ampliamente utilizado. Es útil cuando dependes de la línea de comandos. Tiene varias opciones y soporta múltiples protocolos. ¡Esa es una buena razón para aprender este comando!

Recuerde, si desea aprender algunos comandos avanzados, simplemente consulte el manual que debe estar en todas las versiones de Unix:

man curl

¡Esperamos que este tutorial te haya dado un buen punto de partida para usar cURL! ¿Cómo utilizará este comando? ¡Háznoslo saber en los comentarios!


Linux
  1. ¿Qué es Umask y cómo usarlo?

  2. Comando lspci:qué es y cómo usarlo

  3. ¿Qué es un comando Chown en Linux y cómo usarlo?

  4. Chroot "cárcel":¿qué es y cómo usarlo?

  5. ¿Qué es el correo y cómo se navega?

Cómo instalar y usar el comando Curl en CentOS 8

Cómo instalar y usar el comando de localización en Linux

Cómo instalar y usar el comando Ping en Linux

Cómo usar el comando DD y cómo grabar ISO usándolo

Cómo instalar y usar el comando fd en Linux

¿Qué es EasyApache y cómo lo uso?