Consigue 10 cosas útiles que puedes hacer con cURLy

Consigue 10 cosas útiles que puedes hacer con cURLy / Linux

Cuando comenzamos a aprender acerca de las herramientas de línea de comandos, tendemos a verlas como de un solo propósito. Se te enseña eso gato imprime el contenido del archivo, ls enumera todos los elementos en un directorio, y du muestra el uso del espacio en disco. Sin embargo, muchas herramientas de línea de comandos tienen docenas de opciones, todas ellas perfectamente descritas en su hombre archivos. Algunos de ellos pueden hacer maravillas cuando se combinan con otros comandos..

Por supuesto, no es razonable esperar que alguien recuerde todas las opciones. Con eso en mente, es bueno actualizar ocasionalmente nuestro conocimiento de los comandos de Linux Una A-Z de Linux: 40 comandos esenciales que debe saber Una A-Z de Linux - 40 comandos esenciales que debe saber Linux es la tercera rueda que a menudo se ignora para Windows y Mac. Sí, durante la última década, el sistema operativo de código abierto ha ganado mucha tracción, pero aún está muy lejos de ser considerado ... Leer más, porque es posible que descubras nuevos usos para ellos..

Esta vez, nos centramos en cURL, una herramienta para transferir datos a través de una serie de protocolos de Internet como HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP y más.

En términos simplificados, cURL realiza varias solicitudes de un cliente a un servidor, estableciendo una conexión entre ellos por medio de un protocolo específico y sus métodos asociados. Por ejemplo, como cliente HTTP, cURL puede enviar una solicitud para ver o descargar contenido (método de solicitud GET), o para publicar contenido a través de un formulario en un sitio web (método de solicitud POST). Muchas aplicaciones y servicios web permiten a cURL interactuar con sus API (Interfaz de programación de aplicaciones).

Debido a que su funcionalidad se superpone hasta cierto punto, cURL y wget Mastering Wget & Learning Some Neat Download Tricks Mastering Wget & Learning Some Neat Downloading Tricks A veces no es suficiente guardar un sitio web localmente desde su navegador. A veces necesitas un poco más de poder. Para esto, hay una pequeña herramienta de línea de comandos conocida como Wget. Wget es ... Leer más a menudo se comparan entre sí. Ambas herramientas pueden descargar contenido de Internet, pero wget admite descargas recursivas, raspado web y, en general, se siente más fácil de usar. Si solo desea descargar archivos desde el terminal Descargue videos web con la línea de comando usando Movgrab [Linux] Descargue videos web con la línea de comando usando Movgrab [Linux] Use la línea de comando para descargar videos rápidamente de YouTube, Vimeo, Ted, Discovery y más de 40 otros sitios utilizando un programa simple. Se llama MovGrab y es un gran programa gratuito para Linux. Hemos mostrado ... Leer más, wget es probablemente una mejor opción.

Por otro lado, si necesita métodos de autenticación HTTP avanzados y desea cargar archivos, así como descargarlos, vale la pena aprender a resolver el problema. Además, wget solo admite HTTP (S) y FTP, mientras que cURL cubre una amplia gama de protocolos. Esto significa que cURL puede hacer más cosas interesantes, y aquí hay diez ejemplos para demostrarlo..

1. Obtener el informe del tiempo

Si alguien te dijera que verifiques el clima desde la terminal, esperarías ver algunos números aburridos. No con este comando.

curl http://wttr.in/LOCATION

La información es proporcionada por una aplicación de CLI llamada wego, pero si no desea instalarla, cURL puede obtener el pronóstico desde su interfaz web wttr.in. Todo lo que necesita es la ubicación para la que desea el pronóstico. Simplemente escriba el nombre de una ciudad, su código de aeropuerto o su dirección IP actual. Una nueva característica muestra la información sobre las fases lunares si escribe:

rizo wttr.in/Moon

2. Descargar archivos y reanudar descargas

Descargar archivos es algo que usualmente hacemos en el navegador. En ocasiones, querrá utilizar un administrador de descargas. Obtenga un administrador de descargas gratuito para acelerar sus descargas. Obtenga un administrador de descargas gratuito para acelerar sus descargas. Su navegador no hace un buen trabajo en la administración de grandes descargas. Si estás harto de las bajas velocidades de descarga y los bloqueos, prueba con un administrador de descargas. Recomendamos 9 herramientas gratuitas para gestionar tus descargas. Lee mas ; por ejemplo, al descargar varios archivos a la vez, o cuando desea pausar las descargas. Aunque cURL no es una opción popular para descargas simultáneas (en su lugar se recomienda wget), aún puede usarlo para ese propósito al combinar sus poderosas opciones (interruptores). Primero necesitarás un enlace directo al archivo. En este ejemplo, usaremos un PDF de la revista Linux Voice..

curl -O -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

El interruptor en mayúscula O (-O) hace que cURL guarde el archivo con el nombre de archivo predeterminado (generalmente el del propio enlace). Si quisiera guardarlo con un nombre diferente, usaría minúscula o seguido del nuevo nombre:

curl -o magazine.pdf -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Por defecto, los archivos se guardan en el directorio actual (verifíquelo con el pwd mando). Para guardarlos en otro lugar, proporcione la ruta después del interruptor -o. El interruptor -C permite a cURL reanudar la descarga. Lo pausarías presionando Ctrl + C en el terminal, y continuarás ejecutando el mismo comando de descarga nuevamente:

cURL muestra el progreso de la descarga en un formato similar a una tabla, con columnas que contienen información sobre la velocidad de descarga, el tamaño total del archivo, el tiempo transcurrido y más. Si no te gusta esto, puedes optar por una barra de progreso más simple agregando - # o -progress-bar a tu comando cURL.

Para descargar varios archivos a la vez, solo enumere los enlaces uno tras otro:

curl -O file1.txt -O file2.pdf -O file3.zip

Con la ayuda de otras herramientas de línea de comandos, podemos descargar por lotes todas las imágenes PNG y JPG de un blog de Tumblr:

curl http://concept-art.tumblr.com/ | grep -o 'src = "[^"] *. [png-jpg] "' | cut -d \" -f2 | mientras leo l; hacer enrollamiento "$ l" -o "$ l ## * /"; hecho

En este caso, cortar y grep recopile información sobre los nombres de archivo y formatee de modo que solo se muestren los archivos con extensiones específicas. Si ejecuta el comando sin la última tubería:

curl http://concept-art.tumblr.com/ | grep -o 'src = "[^"] *. [png-jpg] "' | cut -d \" -f2

solo obtendrá una lista de archivos que satisfacen nuestros criterios, pero en realidad no se descargarán. cURL puede obtener una lista de imágenes de un rango de páginas, siempre que el blog use paginación estándar:

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src = "[^"] *. [png-jpg] "' | cut -d \" -f2

Puede modificar el rango cambiando los números entre corchetes. De nuevo, este comando solo listaría las imágenes; para descargarlos, ejecute el comando completo en el directorio donde desea guardar las imágenes:

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src = "[^"] *. [png-jpg] "' | cut -d \" -f2 | mientras leo l; hacer enrollamiento "$ l" -o "$ l ## * /"; hecho

Si está bien versado en expresiones regulares RegExr: herramienta de prueba de expresión regular basada en web RegExr: herramienta de prueba de expresión regular basada en web Lea más, puede mejorar el aspecto y la eficiencia de este comando y compartir el resultado en los comentarios.

3. Administrar archivos en un servidor FTP

No escuchamos mucho sobre FTP en estos días, pero eso no significa que esté obsoleto. De hecho, muchos proyectos de código abierto y distribuciones de Linux comparten su software en servidores FTP. Dado que FTP es compatible con cURL, puede usarlo como un simple cliente FTP FileZilla: por qué este cliente FTP triunfa sobre sus competidores FileZilla: por qué este cliente FTP triunfa sobre sus competidores Las aplicaciones portátiles lo hacen independiente. Almacenado en una memoria USB o en su carpeta de Dropbox, todas sus herramientas esenciales estarán a su alcance donde quiera que vaya. Usted no tendrá que instalar nada tampoco. Leer más para subir y descargar archivos. Puede explorar los archivos en un servidor FTP accediendo a los directorios:

curl ftp://ftp.debian.org/debian/

Para ingresar un subdirectorio, escriba su nombre seguido de una barra diagonal (/).

La descarga de archivos es similar a las descargas HTTP descritas en la sección anterior. Puede usar -o o -O, y agregar -C, si desea pausar las descargas.

curl -O ftp://ftp.heanet.ie/mirrors/linuxmint.com/stable/17.3/linuxmint-17.3-kde-64bit.iso

Aunque cURL no admite descargas recursivas (recuerde, ¡wget sí!), Todavía puede descargar una variedad de archivos a la vez. La única condición es que los nombres de archivo sigan un patrón. Por ejemplo, podríamos descargar desde un servidor de alojamiento de fondos de pantalla donde todos los fondos de pantalla tienen el nombre “fondo de pantalla”:

enrollar -O ftp://ftp.myserver.com/files/wallpaper[0-120◆.jpg

Algunos servidores FTP requieren autenticación antes de poder descargar archivos. cURL le permite iniciar sesión con la opción -u (usuario):

curl -u nombre de usuario: contraseña -O ftp://ftp.protectedserver.com/files/example.txt

También puede cargar archivos a un servidor FTP con la opción -T (transferir):

curl -u nombre de usuario: contraseña -T /home/user/Documents/test.txt ftp://ftp.myserver.com

Aquí también puede definir múltiples archivos como un rango. Esta característica a veces se llama “globo”. Si los nombres de archivo no siguen un patrón, simplemente enumérelos entre corchetes (-T "file1.txt, image27.jpg"). A la inversa, si tienen nombres similares, aplique la misma lógica del ejemplo de descarga de Tumblr y use corchetes (-T "foto [1-50] .jpg"). Asegúrese de proporcionar la ruta completa a los archivos si no están en su directorio actual.

4. Comprobar si un sitio web está caído

Todos hemos estado allí. Un sitio web que absolutamente necesitas de repente deja de funcionar. Entonces Facebook no se carga. Ante un verdadero problema del primer mundo, ¿qué haces??

Puede buscarlo en Google, pedirle a un amigo que lo pruebe, o usar uno de esos sitios de servicio único que le informan si un sitio web está caído. O simplemente puedes encender la terminal y ejecutar CURL:

curl -Es https://www.twitter.com -L | grep HTTP /

El conmutador I (en mayúsculas) comprueba el encabezado HTTP de una página web, y se agrega la opción -L (ubicación) para hacer que la CURL siga las redirecciones. Esto significa que no tienes que escribir la URL completa de Facebook; solo escribe facebook.com y cURL se encargará del resto gracias a -L. Si hay redirecciones, se mostrarán con su propio estado HTTP.

El mensaje que nos interesa es “200 ok”, lo que significa que todo está bien con el sitio web. Si está realmente abajo, verás algo como esto:

Los códigos de estado HTTP son tan informativos como su comprensión de ellos lo permite. Este método no es completamente confiable, ya que un sitio web puede devolver un código de estado que indica una solicitud procesada con éxito, pero estará vacío cuando lo abra en el navegador. Sin embargo, en la mayoría de los casos, debe corresponder a la situación real y dejarte saber qué está pasando, o qué no.

5. Expandir las URL acortadas

Las URL acortadas no son intrínsecamente malas. Sin ellos, sería difícil compartir enlaces en Twitter Cómo superar el límite de 140 caracteres de Twitter Cómo superar el límite de 140 caracteres de Twitter El límite de 140 caracteres de Twitter puede ser una molestia. Afortunadamente, hay maneras de evitarlo. Leer más y otras redes sociales de carácter limitado. Algunos servicios de acortamiento de URL Pruebe 10 acortadores de URL diferentes que le proporcionan beneficios adicionales Pruebe con 10 acortadores de URL diferentes que le brinden beneficios adicionales ¿Qué tan diferente puede acortar un localizador de recursos uniforme? Bueno, el sistema de acortamiento es prácticamente un trabajo común, pero el truco parece estar en los extras que vienen con el servicio de acortamiento ... Leer más también ofrece análisis útiles. Pero siempre existe el riesgo de que alguien intente ocultar contenido malicioso detrás de una URL acortada, o de que un troll esté enmascarando una parodia de Rickroll Beyond: 5 chistes de Internet que surgieron en algo más grande más allá de la parodia: 5 chistes de Internet que crecen en algo más grande Leer más (o algo mucho, mucho peor). Si alguna vez sientes sospechas de una URL acortada por cualquier motivo, cURL puede ayudarte a expandirla y descubrir a dónde conduce exactamente:

curl -sIL http://buff.ly/1lTcZSM | grep ^ Ubicación;

o

curl -sI http://buff.ly/1lTcZSM | sed -n 's / Location: * // p';

Puedes combinar cURL con grep o sed; La principal diferencia está en el formato. Sed es una de esas herramientas que todo usuario de Linux debería saber. Cada geek de Linux debe saber Sed y Awk. He aquí por qué ... Todos los frikis de Linux deben saber Sed y Awk. He aquí por qué ... Dos de las utilidades de Linux más infravaloradas criminalmente son las supuestamente arcanas Sed y Awk. Pero ¿qué son? ¿Cómo se utilizan? ¿Y cómo facilitan el proceso de texto? Lea más, y complementa a cURL en este y algunos otros casos de uso. No olvidemos que cURL puede descargar archivos desde una URL reducida (siempre que la URL realmente apunte a un archivo):

curl -L -o filename.txt http: //short.url

La sintaxis es la misma que con otras descargas de cURL, y la opción -L se encarga de la redirección de una URL reducida a la original..

6. Muestre su aprecio por el arte ASCII

Es cierto que esto no es particularmente útil, pero se ve bien. Con la ayuda de pv, una utilidad para monitorear el progreso de los datos, cURL puede mostrar animaciones ASCII en el terminal.

curl -s http: //artscene.textfiles \ .com / vt100 / wineglas.vt | pv -L9600 -q

Las opciones -s y -q mantienen ambos comandos en modo silencioso (silencioso). La opción -L aquí se refiere al comando pv y le permite modificar la velocidad de transferencia de datos en bytes por segundo. En otras palabras, si la animación se mueve demasiado rápido o demasiado lento, intente jugar con ese número. Además de las animaciones, cURL puede mostrar arte ASCII simple y estático:

La web tiene muchos sitios web con todo tipo de arte ASCII: desde piezas increíblemente detalladas y de alta calidad hasta material extraño, tonto e incluso de NSFW. Esta técnica de arte digital se remonta a la década de 1960, y hoy forma parte de la historia y la cultura de Internet. 7 Tendencias antiguas de Internet que afectan a la Web hoy. 7 Tendencias antiguas de Internet que afectan a la Web. Hoy en día, la web de hoy podría no parecer ni sentirse como la de la década de 1990. , pero te sorprendería saber en qué medida es lo mismo cuando buceas bajo la superficie. Lea más, mantenga viva en numerosas colecciones y herramientas que le permiten convertir texto e imágenes a arte ASCII Arte ASCII: Imagen y texto a ASCII Converter Arte ASCII: Imagen y texto a ASCII Converter Leer más. Puedes usarlo para decorar tu terminal o para hacer bromas a tus amigos, lo que sea que haga flotar tu bote.

7. Experimentar con las redes sociales.

El uso de redes sociales desde el terminal no es nada nuevo. Ya le hemos mostrado clientes de línea de comandos de Twitter para Linux 5 Slimline y Línea de comando de clientes de Twitter para Ubuntu 5 Slimline y Línea de comando de Twitter para Ubuntu Durante un tiempo, la comunidad de Linux ha estado Gritando desesperadamente por un buen cliente de Twitter. Decidimos estudiar el panorama actual de clientes de Linux en Twitter, en busca de aplicaciones livianas y utilizables, con algunos resultados interesantes. Lee mas . Aunque probablemente no cambie a cURL como su herramienta de socialización en línea, es bueno saber que puede publicar en Facebook con él, como se describe aquí. Cómo publicar en Facebook desde la línea de comandos ahora que FBCMD está muerto Cómo publicar en Facebook desde Línea de comandos ahora que FBCMD está muerto Imagine abrir una ventana de comandos en su PC, escribir un comando de una sola línea y publicar al instante en Facebook sin siquiera abrir un navegador u otra aplicación. Lee mas . Notarás que, técnicamente, cURL no lo hace por sí solo; Una combinación de herramientas hace el trabajo..

En cuanto a Twitter, solía ser posible administrarlo directamente desde el terminal con cURL. Luego Twitter cambió su API, y ahora hay un cliente cURL especial para Twitter llamado Twurl. No es lo más fácil de usar, especialmente para un principiante, y requiere autenticación con la Plataforma de anuncios de Twitter. Esto tiene sentido si eres un desarrollador o un usuario avanzado, pero no tanto si solo quieres twittear desde la línea de comandos. Aún así, hay maneras de divertirse con Twitter. Puedes usar cURL para verificar el número de seguidores de un usuario:

curl -s https://twitter.com/username | grep -o '[0-9,] * Seguidores';

8. Encuentra tu dirección IP externa

Encontrar su dirección IP local es bastante fácil, simplemente ejecute ifconfig o consulte su applet de gestión de red. Para la IP externa, la mayoría de la gente usa sitios web especializados para obtener esta información. Sin embargo, algunas cosas son más fáciles de hacer desde el terminal 5 Cosas más fáciles de hacer en la línea de comandos de Linux 5 Cosas más fáciles de hacer en la línea de comandos de Linux Leer más, y esta podría ser una de ellas. También puede crear un alias Cómo definir los alias de la línea de comandos en cualquier sistema operativo Cómo definir los alias de la línea de comandos en cualquier sistema operativo Hemos hablado acerca de, y recomendó familiarizarse con el terminal de línea de comandos de su computadora varias veces en el pasado. Tina escribió un buen manual para los usuarios de Windows con una Guía para principiantes del comando de Windows ... Leer más para el comando cURL. Hay varios servicios en línea que cooperan con cURL:

curl ipinfo.io
curl -s https://4.ifcfg.me
curl -s http://whatismyip.akamai.com
enrollar ifconfig.me
curl -s icanhazip.com

Algunos pueden decirle más sobre cualquier dirección IP externa:

curl ipinfo.io/207.46.13.41
curl ifconfig.me/207.46.13.41

Todo lo que tienes que hacer es elegir un servicio. Si no está seguro, solo inclúyalos en su alias, como soluciones de respaldo..

9. Pegar texto y compartir imágenes

Romper su flujo de trabajo nunca es bueno para la productividad y el enfoque 5 Herramientas que lo ayudan a enfocarse y hacer el trabajo real Hecho 5 herramientas que lo ayudan a enfocarse y realizar el trabajo real La batalla por una mejor productividad y una existencia sin distracciones no puede ganarse solo con el autocontrol. Aplicaciones y herramientas están montando al rescate. Lee mas . Si realiza la mayor parte de su trabajo en el terminal, cambiar a un navegador solo para compartir algunos archivos puede ser poco práctico, si no molesto. Afortunadamente, algunos servicios de intercambio de archivos y pastebin nacieron para trabajar con cURL, por lo que puede usarlos directamente desde el terminal, sin una cuenta de usuario.

Clbin y Sprunge.us tienen una sintaxis similar. Con Clbin, canaliza un archivo local o la salida de un comando, y devuelve un enlace a su texto cargado:

cat textfile.txt | rizo -F 'clbin =<-' https://clbin.com

También admite cargas de imágenes (PNG, JPG y GIF):

curl -F '[email protected]' https://clbin.com

Si desea utilizar Sprunge.us en su lugar, escriba:

cat textfile.txt | curl -F 'sprunge =<-' http://sprunge.us

Sprunge.us no admite la carga de imágenes por ahora..

Ix.io se basa en el mismo principio que los dos servicios anteriores, con algunas características adicionales. Para subir un archivo, escriba:

cat file.txt | enrollamiento -F 'f: 1 =<-' ix.io

o

curl -F 'f: [email protected]' ix.io

Cuando obtiene un enlace al texto cargado, puede modificar su URL para mostrar el resaltado de sintaxis (con ix.io/yourpaste+, ix.io/yourpaste/, o ix.io/yourpaste/language para un script específico o lenguaje de programación). También es posible limitar la cantidad de veces que se puede ver un enlace modificando el número después de 'leer: 1' valor:

cat file.txt | enrollamiento -F 'f: 1 =<-' -F 'read:1=2' ix.io

Ix.io se destina principalmente a archivos basados ​​en texto, como el código fuente o los registros del sistema. Si desea cargar una variedad de formatos de archivo, use Transfer.sh. Admite imágenes, cifrado de archivos y mantiene sus archivos en línea durante dos semanas. Puede cargar hasta 5 GB de datos a Transfer.sh. Así es cómo:

curl --upload-file bunnies.jpg https://transfer.sh/bunnies.jpg

Usted es libre de definir el nombre del archivo cargado. Para cargar varios archivos, enumérelos uno tras otro con la opción -F:

curl -i -F archivado=@/tmp/hello.txt -F archivado=@/tmp/hello2.txt https://transfer.sh/

10. Revisar el correo no leído en Gmail

Existe un gran potencial para desbloquearse en cURL si está dispuesto a profundizar en los detalles de los protocolos relacionados con el correo electrónico (SMTP, POP, IMAP). Para una comprobación rápida de correo electrónico, este comando servirá. Analiza su feed de GMail y formatea la salida (asunto y remitente del correo electrónico) con tr, awk, sed y / o grep comandos Tenga en cuenta que esta solución es extremadamente insegura porque expone sus credenciales de inicio de sesión a cualquier persona con acceso a su terminal. La primera versión muestra el nombre del remitente, mientras que la segunda solo imprime asuntos de correo electrónico no leídos:

curl -u nombre de usuario: contraseña --silent "https://mail.google.com/mail/feed/atom" | tr -d '\ n' | awk -F '"para (i = 2; i<=NF; i++) print $i' | sed -n "s/\ (. * \)<\/title.*name>\ (. * \)<\/name>.* / \ 2 - \ 1 / p "


curl -u nombre de usuario: contraseña --silent "https://mail.google.com/mail/feed/atom" | grep -oPm1 "(?<=)[^<]+" | sed '1d'

¿Qué más se puede hacer??

cURL rara vez se utiliza como un comando independiente. La mayoría de la gente lo usa como parte de un script o una aplicación. Aún así, es posible crear una práctica de una sola línea con cURL, como hemos demostrado aquí. Muchos de estos ejemplos fueron adaptados de CommandLineFu CommandLineFu: increíble colección de gemas de línea de comando [Linux y Mac] CommandLineFu: increíble colección de gemas de línea de comando [Linux y Mac] Explora una variedad de comandos increíblemente útiles. Ya sea que sea un administrador de sistemas veterano o un neófito en la línea de comandos que se esfuerza por descubrir más, CommandLineFu es una colección de comandos impulsada por el voto que le ofrece miles de ideas ... Lea más, una fuente fantástica de hacks de línea de comandos inteligentes, y No deberías considerarlos en piedra..

Con el conocimiento y la experiencia suficientes, podemos modificar cada comando, formatearlo de manera diferente o reemplazarlo por completo con una mejor solución. ¿Puedes mejorar nuestros comandos cURL sugeridos? ¿Sabes de otros usos interesantes para cURL? Comparte tus consejos en los comentarios..

Créditos de imagen: Introducción interna a la línea de comando por Osama Khalid a través de Flickr.

Explorar más sobre: ​​Administración de descargas, FTP, Terminal.