Esiste un metodo a 1 riga per ottenere l'indirizzo IP del server?Come ottenere l'indirizzo IP del server?
Grazie
Esiste un metodo a 1 riga per ottenere l'indirizzo IP del server?Come ottenere l'indirizzo IP del server?
Grazie
Request.ServerVariables["LOCAL_ADDR"];
Dal docs:.
Restituisce l'indirizzo del server in cui la richiesta è venuto in Questo è importante nei computer in cui non ci può essere più indirizzi IP associati a il computer, e vuoi scoprire quale indirizzo ha usato la richiesta.
Questo è diverso dagli indirizzi remoti che si riferiscono alla macchina client.
+1 Nice , Non sapevo che esistesse. – Pwninstein
Sì, un sacco di cose che si nascondono nella collezione ServerVariables. –
Risposta perfetta - dai vecchi giorni ASP Classic, avrei dovuto ricordarmelo :) –
dalla ricerca in rete ho trovato il codice che segue: (non ho potuto trovare un metodo singola linea c'è)
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);
-> dove indice è l'indice del tuo indirizzo ip host (cioè connessione di rete).
Codice da: http://www.geekpedia.com/tutorial149_Get-the-IP-address-in-a-Windows-application.html
Come altri (s) hanno inviato, System.Net.Dns.GetHostEntry
è la strada da percorrere. Quando si accede alla proprietà AddressList
, è necessario prendere in considerazione la proprietà AddressFamily
, in quanto potrebbe restituire sia i risultati IPv4 che IPv6.
Questo metodo restituirà l'indirizzo IP pubblico della macchina quando si esegue questo codice sul PC e quando si distribuisce l'applicazione sul server verrà restituito l'indirizzo IP del server.
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";
}
}
quello che vuoi dire "server" - macchine per la lavorazione ASP.Net o lato server firewall/gate/Proxy – Dewfy
È necessario prendere in considerazione che ci possono essere molti indirizzi IP assegnati al server. – UserControl
Possibile duplicato di http://stackoverflow.com/q/646525/292060, anche se questo ha una risposta selezionata migliore. – goodeye