Cómo manipular http con curl

Cómo manipular http con curl

Objetivo

Aprenda a usar Curl para realizar solicitudes HTTP para interactuar con contenido en línea.

Distribuciones

Todas las distribuciones GNU/Linux

Requisitos

Solo rizo. Está disponible en el repositorio de cada distribución.

Dificultad

Fácil

Convenciones

# - requiere acceso a la raíz ya sea a través de SU o sudo.

ps - Ejecutar como su usuario habitual

Introducción

Curl es una línea múltiple de línea de comando para interactuar con la web. Curl es capaz de actuar como un navegador web, descargar archivos, acceder a API e incluso registrarse en cuentas en línea. Se puede escribir curl y maneja todo desde una simple interfaz de línea de comandos.

Agarrando una página

Obtener el HTML de las páginas web es una de las cosas más básicas que Curl puede hacer. Intenta obtener nuestra página de inicio.

$ curl https: // linuxconfig.organizar

Curl descarga todo el HTML de la página web en la terminal. Se ve desordenado, pero eso es lo que se supone que debe hacer.

Prueba otro. El sitio web de Debian es un poco más fácil de leer.

$ curl https: // www.debian.org/

Encabezados http

Muchas veces, no necesitas una página web completa. Todo ese HTML puede ser difícil de recorrer, y todo lo que necesita es información sobre la conexión. Curl tiene el -I solo para eso.

$ curl -i https: // linuxconfig.organizar

Ahora, solo obtiene los encabezados HTTP que le brindan información sobre su conexión al sitio.

Funciona igual con Debian.

$ curl -i https: // www.debian.org/

Salida de control

Toda esa salida no es muy útil si no puede guardarla. Sería un dolor ejecutar curl cada vez que lo necesite, y qué pasa si cambia? Afortunadamente, puede guardar la salida de Curl con el -O bandera.

$ curl -o linuxconfig.html https: // linuxconfig.organizar

Acaba de guardar el código fuente de la página de inicio de LinuxConfig a un archivo llamado LinuxConfig.html.

Sin embargo, esto es mucho más útil para archivos multimedia. Intenta agarrar el logotipo de Google.

$ curl -o google.png https: // www.Google.com/Images/Branding/Googlelogo/1x/Googlelogo_Color_272x92dp.png

También puedes usar el -O bandera para decirle a Curl que use el nombre existente del archivo.

$ curl -o https: // getfedora.org/static/images/fedora_infinity_140x140.png

Solicitudes de HTTP e iniciar sesión

Con Curl, puede interactuar con páginas web a través de HTTP. Realmente puede usar curl para iniciar sesión en un sitio web. Eche un vistazo a este ejemplo de nuestra guía Hydra Pentesting.

curl -v --data 'log = username & pwd = Realpassword & wp-submit = log+in & testcookie = 1'--cookie 'wordpress_test_cookie = wp+cookie+check' http: // localhost/wp-login.php

El --datos o -d El indicador pasa los datos a un formulario utilizando una gran variables de cadena y los nombres de los campos de formulario asociados. También puedes enviar cookies con curl.

Intente buscar en Duckduckgo para Linux.

$ curl -v -d 'q = linux' https: // duckduckgo.comunicarse

Los resultados pueden ser un desastre, pero la búsqueda en sí es simple. En caso de que te lo estés preguntando, el -V La bandera agrega los encabezados a la salida regular.

Pensamientos de cierre

Curl es increíblemente poderoso. Solo ha arañado la superficie, pero debe tener una buena idea de cómo Curl puede interactuar con las páginas web y descargar contenido desde Internet. Curl puede darle una idea real de cómo funciona la web, por lo que definitivamente vale la pena experimentar con un poco más de.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cómo usar Google Drive en Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mastering Bash Script Loops
  • Scripting de bash y gestión de procesos multiprocesos en el ..
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Descarga de archivos de curl en Linux
  • Descargar archivo de URL en Linux usando la línea de comandos
  • Guarde sus contraseñas en la línea de comando con Gopass (con ..