[..] Web et autoit

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
silmaril92
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 18 févr. 2013 11:49
Status : Hors ligne

[..] Web et autoit

#1

Message par silmaril92 »

Bonjour à tous,

j'ai écris une application qui fait la chose suivante :

Je vais lire une page web, je cherche une information, et je l'affiche dans une fenêtre.
En soit rien de bien compliqué, et cela fonctionne.
Pour ce faire, j'utilise les lignes suivante :

Code : Tout sélectionner

      $s_URL="https://monsite.com/defaut.php"
      $s_mapage=BinaryToString(InetRead($s_URL,1))
 
Maintenant j'ai besoin de lancer cette requête toutes les secondes.
Cela ne fonctionne plus vraiment...
quelque soit la page réelle, j'ai une sorte de cache persistant quelque part, malgré l'option 1 sur la fonction inetread.
La variable de type chaine nommée mapage reste identique. même si la page web change de contenu.
(PS: j'ai essayé aussi le vidage de cache IE : RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess.. sans plus de succès).

Résultat pour que cela fonctionne, j'ai compilé la requête dans un exécutable qui place la page dans un fichier.
Et je lance cet exécutable toutes les secondes. Mais cela n'est pas viable, cela consomme beaucoup de ressources et ralenti la machine avec les écritures disques.

Ma question, est donc comment solutionner cette persistance parasitaire ou récupérer la variable sans passer par un fichier intermédiaire.

Merci d'avance pour toute aide.

Silmaril92
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Web et autoit

#2

Message par Yogui »

Bonjour,

Ce n'est certainement pas ça mais avec le peu de code que vous indiquez c'est pas simple

Code : Tout sélectionner

$s_mapage = ""
$s_URL="https://monsite.com/defaut.php"
$s_mapage=BinaryToString(InetRead($s_URL,1))
 
:mrgreen:
silmaril92
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 18 févr. 2013 11:49
Status : Hors ligne

Re: [..] Web et autoit

#3

Message par silmaril92 »

Non ce n'ai pas çà :)
mais merci ..
le code en lui même n'a pas d'importance ... c'est plus pour montrer avec quelle fonction je vais lire ma page web.
je vais mettre plutôt une approche algorithmique :

je nomme pageweb la fonction qui va lire une page web (l'inetread)

Si je fais :

While 1
pageweb (url)
msgbox de ma page web
sleep(1000)
Wend

Le retour de ma page web est toujours la même... alors que si je l'ouvre avec mon navigateur elle change.

Si maintenant je fais :

programme 1 :
pageweb (url)
ecrire page web dans fichier1


programme 2
While 1
run programme 1
lire fichier1
msgbox de mon fichier1
sleep(1000)
Wend

la çà fonctionne, j'ai bien un retour d'information de ma page même si elle change

cela me fait dire que j'ai une sorte de fermeture de page en fin de programme .. que je n'ai pas dans ma boucle.
Mais je veux pas rester dans ce mode car l écriture fichier et lecture fichier c'est trop gourmand pour une activité à la seconde.

J'utilise inetread et non un httprequest parce que la page web est une page contenant du javascript .. et dans le premier cas j'ai le contenu de la page un peu comme une photo .. et en requete http j'ai la structure de la page mais sans le resultat de l'execution du javascript...
un inetread me retourne une variable d'environ 3k (page que je cherche à obtenir), le httprequest 53k (page qui ne contient pas les informations que j'ai besoin) sur la même url.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Web et autoit

#4

Message par mikell »

Pourtant dans le principe ça marche...

Code : Tout sélectionner

$s_URL="http://24timezones.com/fr_temps/paris_temps_local.php"
While 1
  $s_mapage = BinaryToString(InetRead($s_URL, 1))
  $time = StringRegExpReplace($s_mapage, '(?s).*id="currentTime">([^,]+).*', "$1")
  ToolTip($time, 0, 0)
Wend
On pourrait avoir l'url pour tester ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
silmaril92
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 18 févr. 2013 11:49
Status : Hors ligne

Re: [..] Web et autoit

#5

Message par silmaril92 »

Oui dans le principe çà marche (d'ailleur ton exemple fonctionne sans problème) ..
Même si j'ai trouvé d'autre personne avec des problèmes similaires sur divers forum .. sans plus de solution .. du cache qui traine sans savoir pourquoi ...
C'est comme si le serveur ne respectait pas l'argument no-cache.

Sinon je peux pas donner le lien car il s'agit d'un portail captif et il n'est pas accessible depuis l'extérieur.

Soit je trouve comment "clore" le lien avec le serveur .. soit je vais essayer en utilisant la seconde solution qui fonctionne mais en utilisant de l exit code au lieu de fichier pour récupérer l'information.
Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 132
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

Re: [..] Web et autoit

#6

Message par Numeric »

Salut,
je sais pas quel genre d'infos voulez vous extraire, mais vous pouvez tout simplement laisser la machine tourner et vous écrire le log tout bonnement :::Le log peut être précisé :

Code : Tout sélectionner

#include <File.au3>

$s_URL="http://24timezones.com/fr_temps/paris_temps_local.php"
While 1
  $s_mapage = BinaryToString(InetRead($s_URL, 1))
  $time = StringRegExpReplace($s_mapage, '(?s).*id="currentTime">([^,]+).*', "$1")
  ToolTip($time, 0, 0)
  _FileWriteLog(@ScriptDir&'\Log.txt',$s_mapage)
Wend
De 0 et 1 vers les étoiles , tout part du Binaire, Numeric
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Web et autoit

#7

Message par blacksoul305 »

C'est sympa de vouloir aider, vraiment.. mais le sujet en question est de septembre 2014. Je crois qu'il a soit trouvé soit abandonné depuis deux ans... Haha !
Étudiant en 2ème année de Licence Informatique.
Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 132
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

Re: [..] Web et autoit

#8

Message par Numeric »

oups! j'avais pas fait attention à la date de publication du sujet............
De 0 et 1 vers les étoiles , tout part du Binaire, Numeric
Répondre