[C#] Adresse IP externe

Orci76 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -  
Orci76 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais savoir comment obtenir son adresse IP externe à partir d'un programme C# en console afin de la stocker dans une variable de type "IPAddress".
J'ai déjà trouvé par plusieurs fois les source suivante:

IPHostEntry ipHostEntry = Dns.GetHostByName(Dns.GetHostName());   
IPAddress ipAddress = ipHostEntry.AddressList[0];   
Console.WriteLine(ipAddress.ToString());

ou

IPHostEntry ipHostEntry = Dns.Resolve(Dns.GetHostName());   
IPAddress ipAddress = ipHostEntry.AddressList[0];   
Console.WriteLine(ipAddress.ToString());

cependant, dans les deux cas, l'adresse IP qui m'est retourné est mon IP locale.

Merci d'avance pour votre réponse.

EDIT: J'avais bien vu une vidéo et maintenant une réponse disant qu'on pouvais aller avec un WebClient aller voir sur un site comme 'http://whatismyip.org/', cependant, je ne vois pas vraiment comment faire pour ensuite mettre la string obtenu dans ma variable IPAdress...

1 réponse

Orci76 Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   5
 
Bon, je me réponds à moi-même pour la méthode dont je parlais dans mon EDIT, cependant, si quelqu'un pourrait encore répondre par une technique plus "classique", ce serait pas mal, merci.

Vous pouvez obtenir le contenu d'un site en faisant:

String source = "";
WebRequest request = WebRequest.Create("http://www.site.com/ip.php");
using (WebResponse response = request.GetResponse())
{
     using (StreamReader stream = new   StreamReader(response.GetResponseStream()))
    {
        source = stream.ReadToEnd();
    }
}


et convertir la chaîne en variable de type "IPAddress" avec:

IPAddress ipAddress = System.Net.IPAddress.Parse("192.168.0.4");
En espérant que ça puisse vous servir.
0