Aprenda a usar Curl con estos útiles comandos Curl

curl es una potente utilidad de línea de comandos para comunicarse con un servidor web a través de la terminal. A menudo, se confunde con el popular comando wget, ya que ambos pueden cargar y descargar contenido a un servidor y funcionan en varias plataformas. Entonces, para aclarar las cosas, aquí están las diferencias entre wget y curl y algunos comandos populares de curl que debe saber para comenzar.

rizo contra wget

A primera vista, tanto curl como wget pueden verse como una utilidad que puede solicitar y descargar contenido de los servidores web. Sin embargo, si profundizas, hay mucho que desentrañar. curl admite muchos más protocolos que van desde HTTPS, SFTP a IMAP, POP3, etc., mientras que wget solo admite HTTP, HTTPS y FTP.

Otra diferencia importante es que wget admite la descarga recursiva mientras que curl no. Por lo tanto, wget descargará todo, desde la página web hasta las páginas con las que está vinculado, mientras que curl no lo hará. Por otro lado, curl se basa en la biblioteca libcurl que proporciona API. Por lo tanto, se puede usar fácilmente en secuencias de comandos de línea de comandos, así como en aplicaciones basadas en GUI. Puede pensar en curl como un navegador web de línea de comandos simplificado que puede cargar y descargar contenido desde un servidor web.

Instalación de curl en ventanas

curl viene preinstalado en sistemas operativos basados ​​en Unix o similares a Unix y, por lo tanto, se puede usar directamente en macOS. Sin embargo, también se puede usar en sistemas que no sean Unix como Windows con la ayuda de una biblioteca «libcurl».

En Windows, todo lo que tenemos que hacer es descargar el archivo zip libcurl y hacer un par de cambios para que se pueda usar a través del símbolo del sistema. En primer lugar, descargue el archivo zip libcurl para su Windows de 32 o 64 bits según corresponda. Una vez que haya descargado el archivo, extraiga el contenido en una carpeta. Como contexto, la siguiente es una captura de pantalla del contenido extraído de la carpeta libcurl.

archivos extraídos de la biblioteca curl lib

Dentro de la carpeta extraída, dirígete a la compartimiento carpeta y copie los siguientes archivos – «curl.exe» y «curl-ca-bundle».

copie y pegue el archivo curl.exe y cert

Cree una carpeta llamada «curl» dentro de la unidad «C:» y pegue ambos archivos copiados. Una vez que haya hecho esto, puede usar directamente el comando curl cuando navegue a la carpeta «C: \ curl» dentro del símbolo del sistema.

cambiar al directorio curl a través de cd

Alternativamente, si desea ejecutar curl directamente desde el cmd, le recomendaría crear una variable de entorno. Para hacer eso, dirígete al menú Inicio y escribe «Editar las variables de entorno del sistema.” y haga clic en la primera búsqueda.

buscar editar la variable de entorno en el menú de inicio

En la ventana emergente Propiedades del sistema, haga clic en el botón Variables de entorno en la parte inferior.

agregar variables de entorno en windows

En la pantalla de variables de entorno, haga clic en el botón Nuevo en la mitad superior para agregar una variable de entorno de usuario.

agregar nueva variable de entorno

En la nueva pantalla Variable de usuario, agregue la siguiente entrada. Publique eso, haga clic en Aceptar y luego en Aplicar para guardar los cambios.

Variable name: curl
Variable value: C:\curl

entrada curl en variable de entorno

Una vez hecho esto, haga clic en Aceptar en el menú de variables de entorno para guardar los cambios. Publique esto, debería poder usar el comando curl directamente en el símbolo del sistema. Para probarlo, ingrese el siguiente comando

curl --version

comando para verificar la versión de curl

Alternativamente, también puede habilitar WSL para Windows y usa el shell bash de ubuntu para ejecutar comandos curl desde bash en Windows.

Los mejores comandos de curl y cómo usarlos

Antes de comenzar con los comandos, tenga en cuenta que las comillas simples no funcionan en la línea de comandos de Windows. Tendrías que convertirlos a comillas dobles. Para el shell bash, también funcionaría como de costumbre con las comillas simples.

1. Examinar el código HTML

La utilidad más básica de curl es navegar por el código HTML de una página web. Para hacer eso, agregue el sufijo del comando curl con la URL web de la página web.

curl https://example.com

salida del comando curl que muestra el código html de una página web en la terminal

Este comando mostrará la salida en la terminal. También puede descargar el contenido del archivo especificando el interruptor «-O» antes de la URL. Esto guardará el archivo en su sistema con el mismo nombre de archivo remoto. Por ejemplo, si el nombre del archivo HTML en el servidor es «home.html», también se guardará localmente como «home.html».

curl -O http://example.com/home.html

Como alternativa, puede almacenar los datos con nombres de archivo personalizados. Para eso, agregue el comando con un caso más pequeño «-o» seguido del nombre del archivo.

curl http://example.com/home.html -o sample-file.txt

También puede descargar varios archivos especificando varias URL de archivos remotos.

2. Descarga de archivos con curl

Similar a wget, puede descargar archivos usando curl. Puede usar el modificador -o y especificar el nombre del archivo o, de lo contrario, el archivo se guardará con el nombre del archivo remoto.

curl -O http://example.com/linux.iso

Por ejemplo, el siguiente comando descargará la última versión de Linux mint desde el servidor web.

curl -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso

También puede usar «-#» o «–progress-bar» para mostrar el progreso en forma de hash.

3. Reanudación de descarga fallida

Además, si se interrumpe la descarga, puede reanudarla utilizando el interruptor «-C -«. El comando se verá como sigue.

curl -C http://example.com/linux.iso

Por ejemplo, el siguiente comando reanudará la descarga desde el último punto fallido.

curl -C - -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso

reanudar la descarga usando el comando curl

4. Información de PI

Puede usar el siguiente comando curl para obtener toda la información de red sobre una máquina

curl ipinfo.io

Alternativamente, si conoce la dirección IP y desea otros detalles como las coordenadas de ubicación, ciudad, zona horaria, etc., puede usar la siguiente variación del comando.

curl ipinfo.io/14.141.173.170

5. Enviar correos electrónicos

Dado que curl es compatible con el protocolo SMTP, POP3, incluso puede usarlo para enviar correos electrónicos. A continuación se muestra un ejemplo de cómo enviar un correo electrónico a través de Gmail.

Reemplace la dirección de correo electrónico y la contraseña en el siguiente comando según corresponda.

curl --url "smtps://smtp.gmail.com:587" --ssl-reqd --mail-from "sender@gmail.com" --mail-rcpt "receiver@gmail.com" --upload-file "C:\mail.txt" --user "sender@gmail.com:password"

Asegúrese activar el acceso para aplicaciones menos seguras para la cuenta de Google

enviar correo electrónico a través de gmail usando curl, ssl y smtp

6. Diccionario

El protocolo dict proporcionado por libcurl se puede usar para encontrar fácilmente el significado de una palabra. La fuente del significado es WordNet. A continuación se muestra el comando para hacer lo mismo.

curl dict://dict.org/d:english-word

dict api para encontrar la palabra del diccionario usando el comando curl

7. Comandos POST

Puede enviar solicitudes POST a un servidor web con la ayuda de un comando curl. La sintaxis es la siguiente

curl -X POST -F "name=user-name" -F "password=password" http://www.example.com

Los datos del formulario POST también se pueden enviar en forma de archivo JSON. Use el siguiente comando para hacer eso.

curl -H "Content-Type: application/json" https://www.example.com

8. Convertir archivos

Dado que curl admite datos de formularios de varias partes, puede usarlo para cargar archivos e incluso convertirlos al instante. Por ejemplo, quiero convertir este archivo HTML a PDF. Por lo tanto, usaré el API de Doverter para hacer esto. La API de Docverter admite múltiples formatos de archivo desde HTML, Markdown y puede convertirlos a Docx, PDF, ePub, etc.

Alternativamente, también puede utilizar el Google Drive API v3 para convertir hojas de cálculo de Excel, documentos, etc.

curl "http://c.docverter.com/convert" -F from=html -F to=pdf -F input_files[]=@your-file-name -o "output-file-name.pdf"

docverter convierte documentos a pdf a través del comando curl

Palabras de cierre

curl se usa principalmente en programas para compartir datos, archivos, formularios. Además del comando mencionado anteriormente, hay varias otras API, combinaciones o scripts de shell con los que puede usar curl. Puede obtener más información sobre esto en los repositorios de GitHub o Stack Overflow. Para más problemas o consultas sobre cualquier comando curl, hágamelo saber en los comentarios a continuación.

Lea también: Las 14 mejores aplicaciones para aprender a programar (Android e iOS)

ÚLTIMAS ENTRADAS

Entradas relacionadas

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad