|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
| Requetes HTTP qui ne donne pas de résultat mais qui s'affiche dans un champ HTML |
| Started by Jean Turcotte, Nov., 06 2025 2:58 PM - 4 replies |
| |
| | | |
|
| |
Registered member 1,366 messages |
|
| Posted on November, 06 2025 - 2:58 PM |
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! |
| |
| |
| | | |
|
| | |
| |
Registered member 1,366 messages |
|
| Posted on November, 06 2025 - 4:20 PM |
| J'ai oublié de mentionner que le codeEtat de la requete fautive me retourne toujours un 307 |
| |
| |
| | | |
|
| | |
| |
Registered member 3,747 messages |
|
| Posted on November, 06 2025 - 7:22 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Registered member 1,366 messages |
|
| Posted on November, 06 2025 - 8:29 PM |
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. |
| |
| |
| | | |
|
| | |
| |
Registered member 1,366 messages |
|
| Posted on November, 06 2025 - 10:44 PM |
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 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|