C# | recuperer l adresse public de sa machine

Résolu
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009 - 20 juil. 2006 à 21:14
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 - 12 janv. 2009 à 11:39
bonjour,
je suis en train de realiser une appli basée sur un client/serveur.
Dans mon code, je dois récupéré l'adresse public de la machine.
Pour ce faire, j'utlise IPAddress, et j ai bien l'ip de la machine.

Probleme, quand une machine est en reseau, je recupere l'adresse reseau (192.168.0.2 par exemple) et non l'ip (public) de ma connection internet. Je voudrai pouvoir recuperer cette adressse :) et ainsi pouvoir faire mes traitement comme la communiquer a d autres clients.

Merci de m'aider

5 réponses

MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
21 juil. 2006 à 02:31
Voilà il est 2h30 du mat', et je viens à ta rescousse !!!

<hr size="2" width="100%" />        public static string GetSourceCode(string url)
        {
            HttpWebResponse httpWResponse = null;
            StreamReader sr = null;
            string ans = null;
            try

            {
                HttpWebRequest httpWRequest = (HttpWebRequest)WebRequest.Create(url);
                httpWResponse = (HttpWebResponse)httpWRequest.GetResponse();
                sr = new StreamReader(httpWResponse.GetResponseStream(), Encoding.GetEncoding("iso-8859-1"));
                ans = sr.ReadToEnd();

            }

            catch

            {
                ans = null;
            }

            finally

            {
                if (httpWResponse != null) httpWResponse.Close();
                if (sr != null) sr.Close();
            }

            return ans;
        }
       
        public string GetIP(string PageSC){
            string Ans = PageSC.Substring(PageSC.IndexOf("<TITLE>") + 24,PageSC.IndexOf("</TITLE>") - 24 - PageSC.IndexOf("<TITLE>"));;

            return Ans;
        }
<hr size="2" width="100%" />
Pour l'utiliser :  MessageBox.Show(GetIP(GetSourceCode("http://whatismyip.com")));

et n'oublie pas les directives d'assembly :
using System.Net;

using System.IO;
using System.Text;

Voili voilou, j'espère que ça t'aura aidé ! ( PS:GetSourceCode est un snippet du réseau CS, t'aurais pû chercher quand même... )

-=Ar$£nik=-
3
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009
21 juil. 2006 à 14:42
Je te merci :)
je vais tester ca
0
kikodos23 Messages postés 84 Date d'inscription dimanche 1 juillet 2007 Statut Membre Dernière intervention 8 janvier 2013 2
22 oct. 2007 à 20:58
salut ; g vue ton code source pour l'@ ip public et je l'éssaye mais j'arrive pas a afficher l'@ ip et je comprend pas cette partie 
"" string Ans = PageSC.Substring(PageSC.IndexOf("<TITLE>") + 24,PageSC.IndexOf("</TITLE>") - 24 - PageSC.IndexOf("<TITLE>"));;""
explique moi SVP et merci.
0
kikodos23 Messages postés 84 Date d'inscription dimanche 1 juillet 2007 Statut Membre Dernière intervention 8 janvier 2013 2
23 oct. 2007 à 11:17
salut ; toujours g des pbs au niveau de cette partie du code "string Ans = PageSC.Substring(PageSC.IndexOf("<TITLE>") + 24,PageSC.IndexOf("</TITLE>") - 24 - PageSC.IndexOf("<TITLE>"));;"
il me génère une exeption ;alors quoi faire aidez moi SVP
merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CSharpJSharp Messages postés 98 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 24 mai 2010 1
12 janv. 2009 à 11:39
Bein, très vieux sujet et je débarque en 2009 pour répondre, mais ça peut toujours servir.

Le code source se base sur le site whatismyip.com. Auparavant, ce site affichait l'adresse IP publique dans le titre de la fenêtre du navigateur. Ce code source récupère le titre (flux HTML) défini entre la balise HTML <title> ouvrante et </title> fermante.

Actuellement le site a changé sa philosophie et n'affiche plus l'adresse IP publique dans le titre de la fenêtre du navigateur... D'où il faut chercher autre chose.
0
Rejoignez-nous