text d'un Webgadget - résolu

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

text d'un Webgadget - résolu

Message par Bmld76 »

Bonjour,

Je désire récupérer une information d'un serveur, httprequest ne fonctionne que dans le domaine local donc j'ai essayé d'utiliser un Webgadget

Est-il possible de récupérer le texte contenu de la page Html contenue dans un webgatget. Lorsque j'utilise GetGadgetItemText , je n'obtiens rien du contenu.

programme de test

Code : Tout sélectionner

#Window           = 0
#SendStringGadget  = 0
#HTMLGadget       = 50


If OpenWindow(0, 0, 0, 222, 200, "HTML test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
  ButtonGadget(#SendStringGadget, 10,  10, 200, 20, "Requete !")
  
  Repeat
    Select WaitWindowEvent()
        
      Case #PB_Event_Gadget     
        Select EventGadget()
          Case #SendStringGadget 
            WebGadget(#HTMLGadget, 10, 50, 580, 180, "http://bmaillard.free.fr/spider/requette.php") 
            Result.s = GetGadgetItemText(#HTMLGadget,#PB_Web_HtmlCode  )
            Debug "Retour " + result
            Result.s = GetGadgetItemText(#HTMLGadget,#PB_Web_PageTitle   )
            Debug "Retour " + result  
            Result.s = GetGadgetItemText(#HTMLGadget, #PB_Web_StatusMessage )
            Debug "Retour " + result
            Result = GetGadgetText(#HTMLGadget)
            Debug "Retour " + result
        EndSelect
      Case #PB_Event_CloseWindow
        quit = 1
    EndSelect 
  Until  quit = 1
EndIf
resultat

Retour
Retour
Retour
Retour http://bmaillard.free.fr/spider/requette.php

Peut-être en lisant directement la memoire du Webgadget ?

Cordialement
Dernière modification par Bmld76 le mer. 24/mai/2023 18:18, modifié 1 fois.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

Re: text d'un Webgadget

Message par Bmld76 »

Je me réponds à moi-même , la solution c'est d'utiliser ReceiveHTTPMemory à la place d'un webgadget. Je n'avais pas trouvé cette commande.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: text d'un Webgadget - résolu

Message par Mesa »

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 600, 400, "Reading WebGadget Content", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
	WebGadget(1, 10, 10, 580, 180, "http://bmaillard.free.fr/spider/requette.php");"http://www.purebasic.com"
	
	While GetGadgetAttribute(1, #PB_Web_Busy)
		WaitWindowEvent(1)
		;    Debug  "Page loading... Please wait."
	Wend
	
	Debug  "Code html : " + GetGadgetItemText(1, #PB_Web_HtmlCode)
	
	#OLECMDID_SELECTALL = 17
	#OLECMDEXECOPT_DONTPROMPTUSER = 2
	WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(1), #GWL_USERDATA)
	WebObject\ExecWB(#OLECMDID_SELECTALL, #OLECMDEXECOPT_DONTPROMPTUSER, 0, 0) 
	
	Debug "Code texte brut : " + GetGadgetItemText(1,#PB_Web_SelectedText) 
	
	Repeat
	Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
M.
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: text d'un Webgadget - résolu

Message par Marc56 »

Bmld76 a écrit : mer. 24/mai/2023 17:25 Je désire récupérer une information d'un serveur, httprequest ne fonctionne que dans le domaine local
HttpRequest fonctionne partout.

Code : Tout sélectionner

HttpRequest = HTTPRequest(#PB_HTTP_Get, "http://bmaillard.free.fr/spider/requette.php")
If HttpRequest
    Debug "Réponse: " + HTTPInfo(HTTPRequest, #PB_HTTP_Response)
    FinishHTTP(HTTPRequest)
Else
    Debug "La requête a échoué"
EndIf

Code : Tout sélectionner

Réponse: <b>reponse  html</b>
(puis RemoveString ou autre pour enlever les tags HTML)
:wink:
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

Re: text d'un Webgadget - résolu

Message par Bmld76 »

Merci
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Répondre