Lynx

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Navigateur web en ligne de commande (texte seul)
Commande lynx
Contexte Tester un site sans JavaScript, vérifier un accès HTTP depuis un serveur sans interface graphique
Voir aussi Wget (téléchargement non interactif)

lynx est un navigateur web textuel utilisable directement dans un terminal, sans interface graphique. Il ne rend ni JavaScript ni CSS : il affiche le contenu HTML tel qu'il serait vu par un client texte, un moteur de recherche ou tout utilisateur sans JS. C'est un outil pratique pour vérifier qu'un site reste consultable sans JavaScript, tester un accès HTTP/HTTPS depuis un serveur qui n'a pas d'environnement graphique, ou récupérer du texte brut à traiter par script.

lynx http://exemple.tld

Quelques raccourcis utiles une fois lancé : flèches haut/bas pour se déplacer entre les liens, flèche droite ou Entrée pour suivre un lien, flèche gauche pour revenir en arrière, g pour saisir une nouvelle URL, / pour rechercher dans la page, q pour quitter (confirmation demandée).

Mode non interactif : dump

Pour récupérer le rendu texte d'une page sans ouvrir l'interface interactive (scripts, vérifications automatisées) :

lynx -dump http://exemple.tld/               # texte de la page + liste des liens en bas
lynx -dump -nolist http://exemple.tld/        # sans la liste des liens
lynx -dump -width=200 http://exemple.tld/     # évite les coupures de ligne prématurées

Vérifier une réponse HTTP sans navigateur graphique

-head envoie une requête HTTP HEAD et n'affiche que les en-têtes de réponse — pratique pour vérifier un code de statut, une redirection ou un en-tête de sécurité depuis un serveur headless, sans avoir à installer curl :

lynx -head -dump http://exemple.tld/

Pour récupérer le code source brut (HTML non interprété, avant rendu texte) :

lynx -source http://exemple.tld/ > page.html

Scripter avec lynx -dump

La sortie de -dump étant du texte brut, elle se chaîne facilement avec les outils Unix habituels. Exemple : extraire toutes les occurrences d'un motif présent sur une page (ici une adresse au format e-mail) :

lynx -dump "http://exemple.tld/contact" | grep -o -E '[[:alnum:].+_-]+@[[:alnum:].-]+' | sort -u

Options utiles

lynx -accept_all_cookies http://exemple.tld/         # accepte les cookies sans invite (nécessaire en mode -dump)
lynx -auth=utilisateur:motdepasse http://exemple.tld/ # authentification HTTP basique
lynx -connect_timeout=10 http://exemple.tld/          # délai de connexion en secondes

Voir aussi

  • Wget — téléchargement de fichiers en ligne de commande, non interactif