Page 1 sur 1

ReceiveHTTPFile et code source html

Publié : mer. 08/déc./2021 11:00
par PhM
Bonjour,

Lorsque je veux enregistrer et explorer le code source d'une page html, j'utilise le classique ReceiveHTTPFile qui fonctionne très bien.

Exemple :

Code : Tout sélectionner

InitNetwork()

Source_File$ = GetTemporaryDirectory() + "\Source.txt"

If ReceiveHTTPFile("https://www.purebasic.com/", Source_File$)
  Debug "Connexion OK"
Else
  MessageRequester("Erreur","Echec de connexion au site purebasic")
  End
EndIf

If Not OpenFile(0, Source_File$)
  MessageRequester("Erreur","Code source de la page non chargé ?")
  End
EndIf

While Not Eof(0)
  Txt$ = ReadString(0, #PB_Ascii | #PB_File_IgnoreEOL)
Wend
CloseFile(0)

Debug Txt$
Mais, dans ce cas concernant le site le Bon Coin, une astuce du site empêche de voir le code source de leur page via la commande ReceiveHTTPFile. Mais, en faisant un clic droit sur la page du navigateur, cela fonctionne !

Comprenez-vous, dans cet exemple, ce qui refuse de fonctionner avec ReceiveHTTPFile ?

Code : Tout sélectionner

InitNetwork()

Source_File$ = GetTemporaryDirectory() + "\Source.txt"

If ReceiveHTTPFile("https://www.leboncoin.fr/", Source_File$)
  Debug "Connexion OK"
Else
  MessageRequester("Erreur","Echec de connexion au site Leboncoin")
  End
EndIf

If Not OpenFile(0, Source_File$)
  MessageRequester("Erreur","Code source de la page non chargé ?")
  End
EndIf

While Not Eof(0)
  Txt$ = ReadString(0, #PB_Ascii | #PB_File_IgnoreEOL)
Wend
CloseFile(0)

Debug Txt$

Re: ReceiveHTTPFile et code source html

Publié : mer. 08/déc./2021 14:55
par falsam
D'après le résultat obtenu :
<html>
<head>
<title>leboncoin.fr</title>
<meta property="og:title" content="Rendez-vous sur leboncoin pour découvrir cette annonce !" />
<meta property="og:image" content="https://img.datadome.co/captcha/page-cu ... a7fb4.jpeg" />
<style>#cmsg{animation: A 1.5s;}@keyframes A{0%{opacity:0;}99%{opacity:0;}100%{opacity:1;}}</style>
</head>
<body style="margin:0">
<p id="cmsg">Please enable JS and disable any ad blocker</p>
<script>var dd={'cid':'AHrlqAAAAAMA779fCub9-aoAsKDLqg==','hsh':'05B30BD9055986BD2EE8F5A199D973','t':'fe','s':2089,'host':'geo.captcha-delivery.com'}</script>
<script src="https://ct.captcha-delivery.com/c.js"></script>
</body>
</html>
le site teste si JavaScript est activé. A mon avis le test du navigateur est aussi effectué.

Re: ReceiveHTTPFile et code source html

Publié : jeu. 09/déc./2021 7:08
par PhM
Oui, mais pourquoi un simple clic droit, code source de la page, sur la page du navigateur "dévoile" le code source complet de la page html ???
Il me semble, dans ce cas, que la fonction ReceiveHTTPFile ne soit pas l'équivalent du clic droit, etc..

Re: ReceiveHTTPFile et code source html

Publié : jeu. 09/déc./2021 7:28
par Marc56
Quand tu affiches le code source d'une page (CTRL+U) tu n'affiches que le résultat interprété par le navigateur alors que ReceiveHTTPFile ne charge que le fichier brut et n'exécute pas les scripts.

Re: ReceiveHTTPFile et code source html

Publié : jeu. 09/déc./2021 8:05
par PhM
Ok, merci Marc56, je comprends mieux.
Ctrl+U, je ne connaissais pas, c'est toujours cela d'acquit :!:
Et, dans ce cas, le lien de Falsam pourrait peut-être servir ?

Code : Tout sélectionner

  res1 = keybd_event_(VK_LCONTROL,0,0,0)	; CTRL
  res2 = keybd_event_(VK_KEY_U,0,0,0)		; U