una - obtener ip del servidor c#
¿Cómo obtener la dirección IP del servidor? (4)
¿Hay un método de 1 línea para obtener la dirección IP del servidor?
Gracias
Como otros (s) han publicado, System.Net.Dns.GetHostEntry
es el camino a seguir. Cuando acceda a la propiedad AddressList
, querrá tener en cuenta la propiedad AddressFamily
, ya que podría devolver tanto los resultados de IPv4 como los de IPv6.
Desde la búsqueda en la red encontré el siguiente código: (No pude encontrar un solo método de línea allí)
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 es el índice de su host de dirección IP (es decir, conexión de red).
Código de: http://www.geekpedia.com/tutorial149_Get-the-IP-address-in-a-Windows-application.html
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";
}
}
Request.ServerVariables["LOCAL_ADDR"];
De la docs :
Devuelve la dirección del servidor en la que se recibió la solicitud. Esto es importante en las computadoras donde puede haber varias direcciones IP vinculadas a la computadora, y usted quiere saber qué dirección usó la solicitud.
Esto es distinto de las direcciones remotas que se relacionan con la máquina cliente.