Pour voir le contenu d’une page HTML
en dehors de votre navigateur, histoire d’éviter d’exécuter le code JavaScript ou d’activer les potentiels traceurs qu’elle contient.
Pour faire cela, vous pouvez utiliser la commande curl
comme suit :
curl -s http://booms.io/
Cependant, très souvent ce type de page ne contient pas de saut de ligne. Pour vérifier cela, vous pouvez utiliser la commande wc
avec l’option -l
pour compter le nombre de ligne :
curl -s http://booms.io/ | wc -l
Dans ce cas, vous obtiendrez 0, il n’y a même pas le retour chariot final.
Je vous propose d’utiliser la commande xmllint
qui est destinée à valider du code XML
. Cette commande permet également de formater le code à l’aide de l’option --format
.
Dans notre cas, nous souhaitons formater du code HTML
qui est un peu moins strict que le XML
, mais qui rester assez proche, pour cela nous ajouterons l’option --html
Et si on lance la commande en comptant le nombre de ligne comme suit :
curl -s http://booms.io/ | xmllint --format --html - | wc -l
Cette fois on obtient 16
Pour lire effectivement le code, et répondre à la question initiale, vous devez utiliser quelque chose comme :
curl http://booms.io/ | xmllint --format --html -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1145 0 1145 0 0 6189 0 --:--:-- --:--:-- --:--:-- 6189
Et voici le type de résultat que vous aurez :
<!DOCTYPE html>
<html data-adblockkey="MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANDrp2lz7AOmADaN8tA50LsWcjLFyQFcb/P2Txc58oYOeILb3vBw7J6f4pamkAQVSQuqYsKx3YzdUHCvbVZvFUsCAwEAAQ==_CYlgq9DtA+SeV2XGnyNm9u2oYduu/TmVtj7OiPK0H8i+Y9MA5bp8cQD6uL0LryAHmSI/fM1DTCdcmebPp/NY9g==">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="preconnect" href="https://www.google.com" crossorigin>
</head>
<body>
<div id="target" style="opacity: 0"></div>
<script>window.park = "eyJ1dWlkIjoiN2I4ZGI4NTMtNTkxNS00YTMzLTFmYTUtNGVkNGM0YmYzZWY3IiwicGFnZV90aW1lIjoxNjc2MjM0OTI0LCJwYWdlX3VybCI6Imh0dHA6XC9cL2Jvb21zLmlvXC8iLCJwYWdlX21ldGhvZCI6IkdFVCIsInBhZ2VfcmVxdWVzdCI6W10sInBhZ2VfaGVhZGVycyI6W10sImhvc3QiOiJib29tcy5pbyIsImlwIjoiODIuNjUuMjIzLjQzIn0=";</script><script src="/js/parking.2.102.2.js"></script>
</body>
</html>
ᦿ