代码之家  ›  专栏  ›  技术社区  ›  JL. Hans Passant

如何获取服务器IP地址?

  •  28
  • JL. Hans Passant  · 技术社区  · 15 年前

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

    谢谢

    4 回复  |  直到 7 年前
        1
  •  57
  •   Zhaph - Ben Duguid    15 年前
    Request.ServerVariables["LOCAL_ADDR"];
    

    docs :

    返回请求传入的服务器地址。这在可能有多个IP地址绑定到计算机的计算机上很重要,您需要找出请求使用的地址。

    这不同于与客户机相关的远程地址。

        2
  •  6
  •   Faizan S.    15 年前

    通过搜索网络,我发现了以下代码:(我在那里找不到单行方法)

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

    -哪里 指数 是IP地址主机的索引(即网络连接)。

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

        3
  •  2
  •   Mark Carpenter    15 年前

    正如其他人发布的, System.Net.Dns.GetHostEntry 是前进的道路。当你进入 AddressList 属性,您将需要 AddressFamily 属性,因为它可以返回IPv4和IPv6结果。

        4
  •  0
  •   TAHA SULTAN TEMURI    7 年前

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