如何获取服务器IP地址?

是否有一行方法来获取服务器的IP地址?

谢谢

 Request.ServerVariables["LOCAL_ADDR"]; 

来自文档 :

返回请求所在的服务器地址。这对于可能有多个绑定到计算机的IP地址的计算机很重要,并且您想要找出请求使用的地址。

这与客户端计算机相关的远程地址不同。

从搜索网上我发现以下代码:(我找不到单行方法)

 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); 

– >其中index是你的ip地址主机的索引(即网络连接)。

代码来自: http : //www.geekpedia.com/tutorial149_Get-the-IP-address-in-a-Windows-application.html

正如其他人发布的那样, System.Net.Dns.GetHostEntrySystem.Net.Dns.GetHostEntry的方法。 当您访问AddressList属性时,您将需要考虑AddressFamily属性,因为它可以返回IPv4和IPv6结果。

在PC上运行此代码时,此方法将返回您的计算机公共IP地址,当您在服务器上部署应用程序时,将返回服务器IP地址。

 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"; } }