0

在这里我有一个小问题,我想找出正在访问我的网站的客户端的 IP 地址,我尝试了很多但所有这些都给了我 127.0.0.1 作为 IP,而我正在本地主机上进行测试,

请有人提供代码片段并帮助我,

提前致谢,

 public string GetClientIP()
{
    string result = string.Empty;
    string ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (!string.IsNullOrEmpty(ip))
    {
        string[] ipRange = ip.Split(',');
        int le = ipRange.Length - 1;
        result = ipRange[0];
    }
    else
    {
        result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    }

    return result;
}
4

1 回答 1

1

这是意料之中的,您的本地主机 IP 地址大部分时间都是 127.0.0.1。

正如评论中所说,当您部署您的站点并且远程客户端访问它时,他们的实际 IP 将被正确检索。

如果您想在本地尝试,您可以尝试配置您的本地网络,以便同一网络上的远程计算机访问您的网站。在那里您应该会看到该计算机的 IP 地址(例如:192.168.xx)。

于 2013-10-07T14:28:36.650 回答