PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Requetes HTTP qui ne donne pas de résultat mais qui s'affiche dans un champ HTML
Requetes HTTP qui ne donne pas de résultat mais qui s'affiche dans un champ HTML
Débuté par Jean Turcotte, 06 nov. 2025 14:58 - 4 réponses
Membre enregistré
1 357 messages
Posté le 06 novembre 2025 - 14:58
Bonjour, je travaille fort depuis 2 jours pour comprendre un phénomène spécial.
Mon appli utilise un champ Affichage HTML. Avant d'afficher un lien WEB dans le champ HTML, je le charge dans une variable HTTPrequete.

Cette façon de faire me permet d'analyser le contenu du lien avant de le faire afficher dans le champ HTML. Voici la partie de mon code qui traite le lien.

cMaRequête est un httpRequête
cMaRequête.URL = sURL
cMaRequête.IgnoreErreur = httpIgnoreRedirection
cMaRéponse est un httpRéponse = HTTPEnvoie(cMaRequête)
SI ErreurDétectée ALORS
ToastAffiche("erreur2")
Erreur(ErreurInfo(errComplet))
FIN
sContenu = UTF8VersChaîne(cMaRéponse.Contenu)
Info(sContenu)


La majorité des liens fonctionnent parfaitement mais certains lien ne fonctionnent absolument pas. Donc le résultat de cMaRequete me retourne une chaine vide par exemple avec les lien suivant;
https://www.tvanouvelles.ca
https://mobile.guideautoweb.com
https://www.journaldemontreal.com

Pourtant si j'envoie l'un de ces liens dans le champ HTML, les données s'affichent parfaitement. Notez que je n'ai aucune erreur qui s'affiche. Je suppose que le champ HTML exécute une requete HTTP?

Est-ce qu'un bon samaritain pourrait m'aider à comprendre ce phénomène?
Merci!
Membre enregistré
1 357 messages
Posté le 06 novembre 2025 - 16:20
J'ai oublié de mentionner que le codeEtat de la requete fautive me retourne toujours un 307
Membre enregistré
3 735 messages
Posté le 06 novembre 2025 - 19:22
Salut
Je vois que depuis 2023 tu n'as toujours pas résolu ce souci et j'en suis navrée
Essai plutôt la vieille méthode HTTPDonneRésultat et HTTPRequête (fonction)

Sinon accepte de mettre un champ HTML caché dans ta fenêtre qui récupère la page
Et ensuite tu traites le contenu comme te la suggéré Ruben
Fait des tests et dis nous ce que ça donne
Membre enregistré
1 357 messages
Posté le 06 novembre 2025 - 20:29
Salut Popoy, les années se suivent et se ressemblent...

Rien n'y fait, j'ai été capable de récupérer l'adresse URL de redirection du lien mais ça tourne en boucle et ça reviens toujours à l'adresse de départ. En ce qui concerne le champ caché, ça fonctionne et le champ affiche la page mais je ne suis toujours pas capable de récupérer le contenu du champ HTML.
Membre enregistré
1 357 messages
Posté le 06 novembre 2025 - 22:44
J'ai finalement trouvé une méthode fonctionnelle. Je transfert le lien WEB dans un champ HTML caché pour que soit correctement affiché le site WEB. Dans l'évenement 'Après chargement de la page HTML' j'insère le code suivant;
codeJS est chaîne = [
var element = document.getElementsByTagName('html');
element[0].innerHTML;
]

HTM_Test.ExécuteJS(codeJS, RecupereContenuJS)

PROCEDURE INTERNE RecupereContenuJS(bSuccès est booléen, ValeurRetour)
SI PAS bSuccès
Erreur(ErreurInfo())
RETOUR
FIN
Info(ValeurRetour)
FIN


la variable ValeurRetour contient maintenant la source de la page WEB qui est en fait une chaine que je peux analyser à ma guise.

Une fois analysé, je transfert le site dans mon champ HTML visible.

Merci Popoy