2010-02-16 11 views
5

ho bisogno del mio client ip da whatismyip.com. Ma il modello Regex non è corretto, penso? Puoi aiutarmi questo patttern?come posso imparare il mio client ip con .NET?

+2

Perché sei usando whatismyip.com per recuperare il tuo IP? :) – Younes

+1

Voto per chiudere. Non fare la stessa domanda due volte. Se la tua domanda non ti dà la risposta, prova ad estenderla con maggiori dettagli. http://stackoverflow.com/questions/2272483/how-can-i-get-ip-address-of-my-3g-modem –

+0

Per quello che vale, credo che la mia risposta alla tua domanda originale dovrebbe fare il trucco: http://stackoverflow.com/questions/2272483/how-can-i-get-ip-ad-ress-of-my-3g-modem/2272673#2272673 –

risposta

3

Ciò può essere ottenuto modo più semplice utilizzando l'interfaccia automazione da www.whatismyip.com, quindi non c'è bisogno di alcuna espressione regolare:

static void Main(string[] args) 
    { 
     const string url = "http://www.whatismyip.com/automation/n09230945.asp"; 

     var client = new WebClient(); 
     try 
     { 
      var myIp = client.DownloadString(url); 
      Console.WriteLine("Your IP: " + myIp); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("Error contacting website: " + ex.Message); 
     } 
    } 
+0

buono uno bello e breve –

0

tenta di utilizzare
http://www.whatismyip.org/
E 'molto più semplice.

Oppure si desidera analizzare esattamente le informazioni whatismyip.com?

+0

Penso che ci stiano già discutendo. sei in ritardo ....... –

0

fare in questo modo, invece:

class Program 
{ 
    static void Main(string[] args) 
    { 
     string whatIsMyIp = "http://www.whatismyip.com/automation/n09230945.asp"; 
     WebClient wc = new WebClient(); 
     UTF8Encoding utf8 = new UTF8Encoding(); 
     string requestHtml = ""; 
     try 
     { 
      requestHtml = utf8.GetString(wc.DownloadData(whatIsMyIp)); 
     } 
     catch (WebException we) 
     { 
      // do something with exception 
      Console.Write(we.ToString()); 
     } 

     IPAddress externalIp = null; 
     externalIp = IPAddress.Parse(requestHtml); 

     Console.Write("IP Numaram:" + externalIp.ToString()); 
     Console.ReadKey(); 

    } 
} 
4

Hai letto il commento nel codice HTML ottenuto:

Si prega di impostare il codice per raschiare vostro IP da www.whatismyip.com/ automazione/n09230945.asp Per ulteriori informazioni, consultare il nostro thread "Procedure di automazione consigliate" nel Forum.

Quindi questo dovrebbe farti andare:

using (var client = new WebClient()) 
{ 
    Console.WriteLine(client.DownloadString(
     "http://www.whatismyip.com/automation/n09230945.asp")); 
} 
+0

utilizzando è una buona tecnica per eliminare automaticamente la risorsa utilizzata dalla variabile .. –

0

questo modo si ottiene l'ip in ASP.NET C#

string pstrClientAddress = HttpContext.Current.Request.UserHostAddress; 
Problemi correlati