2009-08-28 27 views
26

¿Hay un método de 1 línea para obtener la dirección IP del servidor?¿Cómo obtener la dirección IP del servidor?

Gracias

+0

Lo que significa "servidor" - máquina de procesamiento de ASP.Net o del lado del servidor cortafuegos/puerta/proxy – Dewfy

+2

Es necesario tomar en cuenta que no puede haber tantas direcciones IP asignadas a su servidor. – UserControl

+0

Posible duplicado de http://stackoverflow.com/q/646525/292060, aunque esto tiene una mejor respuesta seleccionada. – goodeye

Respuesta

54
Request.ServerVariables["LOCAL_ADDR"]; 

Desde el docs:.

Devuelve la dirección del servidor en el que llegó la solicitud Esto es importante en equipos en los que puede haber varias direcciones IP asociadas la computadora, y desea saber qué dirección utilizó la solicitud.

Esto es distinto de las direcciones remotas que se relacionan con la máquina del cliente.

+0

+1 Nice , No sabía que existía – Pwninstein

+0

Sí, muchas cosas ocultas en la colección ServerVariables. –

+2

Respuesta perfecta: a partir de los antiguos días de ASP Classic, debería haber recordado esta :) –

6

partir de la búsqueda por la red he encontrado código siguiente: (no pude encontrar un solo método de línea no)

string myHost = System.Net.Dns.GetHostName(); 

// Show the hostname 

MessageBox.Show(myHost); 

// Get the IP from the host name 

string myIP = System.Net.Dns.GetHostEntry(myHost).AddressList[index].ToString(); 

// Show the IP 

MessageBox.Show(myIP); 

-> donde índice de es el índice de su dirección IP host (es decir, conexión de red).

Código de: http://www.geekpedia.com/tutorial149_Get-the-IP-address-in-a-Windows-application.html

0

Este método devolverá la dirección IP pública de su máquina cuando ejecute este código en su PC y cuando implemente su aplicación en el servidor devolverá la dirección IP del servidor.

public static string Getpublicip() 
    { 
     try 
     { 
      string externalIP = ""; 
      var request = (HttpWebRequest)WebRequest.Create("http://icanhazip.com.ipaddress.com/"); 
      var response = (HttpWebResponse)request.GetResponse(); 
      var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 

      externalIP = new WebClient().DownloadString("http://icanhazip.com"); 
      return externalIP; 

     } 
     catch (Exception e) 
     { 

      return "null"; 
     } 

    } 
Cuestiones relacionadas