0

我想在我的aspx页面上获取主机的 IP 地址C#,我正在使用 DNS 类方法来获取这些。

它在本地运行良好,但是当我在 IIS7 上部署解决方案时,它只返回 ISP 分配的 IP 地址,但我想要该机器的本地 IP 地址。

有什么建议吗?

4

4 回答 4

1

这是示例。在此示例中,我们可以获得给定主机名的 IP 地址。

    string strHostName = "www.microsoft.com";
    // Get DNS entry of specified host name
    IPAddress[] addresses = Dns.GetHostEntry(strHostName).AddressList;

    // The DNS entry may contains more than one IP addresses.
    // Iterate them and display each along with the type of address (AddressFamily).
    foreach (IPAddress address in addresses)
    {
        Response.Write(string.Format("{0} = {1} ({2})", strHostName, address, address.AddressFamily));
        Response.Write("<br/><br/>");
    }
于 2012-08-08T08:29:29.243 回答
0

我相当有信心您无法像这样获取本地机器的本地 192.168.CD 地址。

这是因为安全性和可见性(NAT 等)。

如果您正在寻找唯一标识用户。我会寻找会话或cookies。

于 2011-05-02T07:27:12.957 回答
0

在公共 DNS 中查找 IP 地址时,您将获得对外通信的官方 IP 地址。如果使用 NAT 并且您想要内部地址,则必须连接到保存内部 IP 地址的 DNS 服务器。

于 2011-05-02T07:28:36.973 回答
0

你可以用这个方法...

public static String GetIP()
{
    String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

   if(string.IsNullOrEmpty(ip))
    {
        ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    }

    return ip;
}
于 2011-05-02T07:29:29.920 回答