Comment manipuler http avec curl

Comment manipuler http avec curl

Objectif

Apprenez à utiliser Curl pour faire des demandes HTTP pour interagir avec le contenu en ligne.

Distribution

Toutes les distributions GNU / Linux

Exigences

Juste boucler. Il est disponible dans le référentiel de chaque distribution.

Difficulté

Facile

Conventions

# - nécessite un accès root soit via su ou Sudo.

$ - Exécutez en tant qu'utilisateur habituel

Introduction

Curl est une ligne de commande multi-outil pour interagir avec le Web. Curl est capable d'agir comme un navigateur Web, de télécharger des fichiers, d'accéder aux API et même de vous signaler dans des comptes en ligne. Curl peut être scénarisé, et il gère tout à partir d'une simple interface de ligne de commande.

Saisir une page

Obtenir le HTML d'une pages Web est l'une des choses les plus fondamentales que Curl peut faire. Essayez d'obtenir notre page d'accueil.

$ curl https: // linuxconfig.org

Curl jette tout le HTML de la page Web dans le terminal. Ça a l'air désordonné, mais c'est ce qu'il est censé faire.

Essaie un autre. Le site Web de Debian est un peu plus facile à lire.

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

En-têtes HTTP

La plupart du temps, vous n'avez pas besoin d'une page Web entière. Tout ce HTML peut être difficile à parcourir, et tout ce dont vous avez besoin est des informations sur la connexion. Curl a le -je pour juste ça.

$ curl -i https: // linuxconfig.org

Maintenant, vous n'obtenez que les en-têtes HTTP qui vous donnent des informations sur votre connexion au site.

Cela fonctionne de même avec Debian.

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

Contrôle de sortie

Toute cette sortie n'est pas très utile si vous ne pouvez pas l'enregistrer. Ce serait pénible d'exécuter Curl chaque fois que vous en avez besoin, et que se passe-t-il si ça change? Heureusement, vous pouvez absolument enregistrer la sortie de Curl avec le -o drapeau.

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

Vous venez d'enregistrer le code source de la page d'accueil de LinuxConfig dans un fichier appelé linuxconfig.html.

Ceci est beaucoup plus utile pour les fichiers multimédias, cependant. Essayez de saisir le logo de Google.

$ curl -o google.png https: // www.Google.com / images / branding / googlelogo / 1x / googlelogo_color_272x92dp.PNG

Vous pouvez également utiliser le -O Indicateur pour dire à Curl d'utiliser le nom existant du fichier.

$ curl -o https: // getfedora.org / statique / images / fedora_infinity_140x140.PNG

Demandes HTTP et connexion

Avec Curl, vous pouvez interagir avec les pages Web via HTTP. Vous pouvez réellement utiliser Curl pour vous connecter à un site Web. Jetez un œil à cet exemple de notre guide Hydra Pentesting.

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

Le --données ou -d Flag transmet les données à un formulaire en utilisant une grande variable de chaîne et les noms des champs de formulaire associés. Vous pouvez également envoyer des cookies avec Curl.

Essayez de rechercher DuckDuckgo pour Linux.

$ curl -v -d 'q = Linux' https: // DuckDuckgo.com

Les résultats peuvent être un gâchis, mais la recherche elle-même est simple. Au cas où vous vous demanderiez, le -V Le drapeau ajoute les en-têtes à la sortie régulière.

Réflexions de clôture

Curl est incroyablement puissant. Vous n'avez fait que gratter la surface, mais vous devriez avoir une bonne idée de la façon dont Curl peut interagir avec les pages Web et télécharger du contenu à partir d'Internet. Curl peut vous donner un aperçu réel du fonctionnement du Web, donc cela vaut vraiment la peine d'expérimenter avec un peu plus.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment utiliser Google Drive sur Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Masterring Bash Script Loops
  • Gestion de scripts et de processus de bash multithread au…
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Télécharger le fichier en boucle sur Linux
  • Télécharger le fichier depuis URL sur Linux en utilisant la ligne de commande
  • Enregistrez vos mots de passe sur la ligne de commande avec Gopass (avec…