ReceiveHTTPFile et code source html

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
PhM
Messages : 118
Inscription : dim. 08/déc./2019 10:50

ReceiveHTTPFile et code source html

Message 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$
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: ReceiveHTTPFile et code source html

Message 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é.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
PhM
Messages : 118
Inscription : dim. 08/déc./2019 10:50

Re: ReceiveHTTPFile et code source html

Message 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..
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: ReceiveHTTPFile et code source html

Message 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.
Avatar de l’utilisateur
PhM
Messages : 118
Inscription : dim. 08/déc./2019 10:50

Re: ReceiveHTTPFile et code source html

Message 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
Répondre