Page 1 sur 1

[R] Recuperer les IP dans une page woueb

Posté : dim. 08 mars 2009 23:53
par Iste
Salutations,

J'aimerai une petite fonction qui me donnerais un array rempli des adresse IP contenues dans une page web.
Seulement, je ne sais pas trop comment recuperer le texte d'une page de facon exploitable, et encore moins en extraire les IP :/

Code : Tout sélectionner

Func _RecupIP($WebAdresse, ByRef $ListeDIP)
    ReDim $ListeDIP[0]
    ;et la je sais pas...
EndFunc
 
Merci d'avance !

Re: [..] Recuperer les IP dans une page woueb

Posté : lun. 09 mars 2009 00:21
par Tlem
Inspirez vous de ceci :
http://www.autoitscript.fr/forum/viewto ... 174#p15174 pour le texte.
http://www.autoitscript.fr/forum/viewto ... 8205#p8205 pour extraire les adresses IP (Il faut évidement adapter le pattern de la fonction StringRegExp pour votre cas (Voir ici ou ici par exemple)).

Edit : Ceci vous aidera un peut plus précisément.
http://www.autoitscript.fr/forum/viewto ... =21&t=2537

Re: [..] Recuperer les IP dans une page woueb

Posté : lun. 09 mars 2009 05:09
par Iste
Les fonctions _IE sont efroyablement lentes :/ (si IE est pas lancé)
j'ai donc utilisé InetGet (qui est lent, mais c'est raisonable)

Par contre, j'aimerais bien savoir ou l'on trouve la doc de la ligne suivante
"mailto:([A-Za-z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})"
J'ai jamais vu ces trucs dans la doc :/ tout comme le [activate] pour choisir un nom de fenetre.

Enfin, merci beaucoup, grave a ca j'ai reussi a me débrouiller ^^

PS : "[0-9]+.[0-9]+.[0-9]+.[0-9]" recupere "xxx.xxx.xxx-xx", je comprend pas bien pourquoi :/

edit : avec "(?:\w{1,3}\.\w{1,3}\.\w{1,3}\.\w{1,3})" pas de probleme ^^

Re: [..] Recuperer les IP dans une page woueb

Posté : lun. 09 mars 2009 20:49
par Tlem
Ce genre de ligne, fait partie des expressions régulières.
Dans le lien pour récupérer les adresses mail, vous avez des liens vers des sites traitant du sujet.
Vous en verrez aussi un bout dans la doc de la commande StringRegExp. ;)

Re: [..] Recuperer les IP dans une page woueb

Posté : lun. 23 mars 2009 15:04
par Max5
Je ne sais pas si c'est toujours d'actualité mais voici un simple exemple pour réaliser ceci :

Ici tester avec le site Cmyip.com

Code : Tout sélectionner

#Include <Array.au3>
#include <INet.au3>

Func Get_Ip($sUrl)
    $src_html = _INetGetSource($sUrl)
    
    $IP_Regex = StringRegExp($src_html, "([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})", 3)
    If Not @error Then
        Return $IP_Regex
    Else
        Return -1
    EndIf
EndFunc

$ip = Get_Ip("http://cmyip.com")
If $ip <> -1 Then
    _ArrayDisplay($ip)
Else
    MsgBox(16, "erreur", "pas d'ip dans cette page")
EndIf