Comme vous le savez, vous ne pouvez pas connaitre votre IP internet tout seul, il vous faut la demander à quelqu'un de l'autre "coté du mirroir", voici une fonction qui appelle simplement DynDNS (si vous ne faites pas confiance à ce site, je vois pas quoi faire ^^) :
Code : Tout sélectionner
Func getIP($timeOutMax = 2000)
Local $resultat = "", $connexion, $url="http://checkip.dyndns.org/", $fichierTemp=@TempDir&"\~ip.log"
$connexion = InetGet($url, $fichierTemp, 1, 1)
Local $timeOut = $timeOutMax
While $timeOut > 0 And Not InetGetInfo($connexion, 2)
Sleep(250)
$timeOut=$timeOut-250
WEnd
InetClose($connexion)
If $timeOut > 0 Then
Local $fichierHandle = FileOpen($fichierTemp, 0)
If $fichierHandle <> -1 Then
Local $contenu = FileRead($fichierHandle)
If @error = 0 Then
Local $resultatRegexp = StringRegExp($contenu, '<body>(?:.*?)(\d+.\d+.\d+.\d+)(?:\D?)(?:.*?)</body>', 3)
If IsArray($resultatRegexp) And UBound($resultatRegexp) > 0 Then
If UBound($resultatRegexp) = 1 Then
$resultat = $resultatRegexp[0]
Else
$resultat = "Résultat ambigu"
EndIf
Else
$resultat = "Résultat introuvable"
EndIf
Else
$resultat = "Source illisible"
EndIf
Else
$resultat = "Source introuvable"
EndIf
FileClose($fichierHandle)
Else
$resultat = "Délai dépassé"
EndIf
FileDelete($fichierTemp)
Return $resultat
EndFunc