Lire un fichier HTTP

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Lire un fichier HTTP

Message par ChaudEf »

Bonsoir, je voudrais lire un fichier se trouvant sur internet, ou plutot examiner si un certain mot se trouve sur une page html.

Pour ce faire, je telecharge la page, puis ouvre le fichier telecharge, et ensuite findstring(readfile(0), "texte").
C'a m'a l'air un peu tordu comme methode, est ce qu'il y a un moyen plus intelligent de le faire?

Merci
Windows 10 x64 -- Purebasic 5.70 LTS x86
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Lire un fichier HTTP

Message par Ollivier »

Ta méthode semble être la plus rapide.
Le risque d'erreur se tient à l'ignorance des balises. Donc risque de trouver le bon mot au mauvais endroit si ce mot existe en doublon dans le fichier distant.

Pour solutionner, il faut repérer les balises utiles au repérage dudit mot à rechercher (une base de repère peut être la paire de balises <BODY> </BODY>).

Une autre technique possible : asservir Google ou autre moteur de recherche.
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Lire un fichier HTTP

Message par cage »

Pour Windows, on peut aussi utiliser les commandes find ou findstr qui offrent pas mal de possibilité.
find /? et findstr /? dans une fenêtre cmd pour une aide complète.
En conjonction avec la commande clip, il est possible de récupérer le résultat dans le presse papier.
A utiliser avec RunProgram()
Exemple: findstr /i /c:"texte" fichier.html | clip
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Lire un fichier HTTP

Message par Ar-S »

ReceiveHTTPMemory pour ne pas t'embêter avec un fichier.. puis findstring.

Note: cette methode lit le code source, pas le rendu de la page.

Code : Tout sélectionner

 InitNetwork()
; page de pb en mémoire
  *Buffer = ReceiveHTTPMemory("http://www.purebasic.com/index.php")
  If *Buffer
    Taille = MemorySize(*Buffer)
    Page.s = PeekS(*Buffer, Taille, #PB_UTF8|#PB_ByteLength)
    FreeMemory(*Buffer)
    
; recherche
    Debug "Recherche du mot purebasic dans la page: "  
          Nbr = CountString(Page.s,"purebasic")
    Debug "Purebasic a été trouvé " + Str(Nbr) + " fois !"
    
  Else
    Debug "Le téléchargement a échoué"
  EndIf

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre