【问题标题】:how to get User IP address in asp.net?如何在 asp.net 中获取用户 IP 地址?
【发布时间】:2013-11-17 05:04:19
【问题描述】:

这是标签

 <asp:Label ID="lblIp" runat="server"></asp:Label>

这里是我用来获取用户IP地址的代码

 string VisitorsIPAddr = string.Empty;

            if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
            {

                VisitorsIPAddr = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
                lblIp.Text = VisitorsIPAddr;
            }
            else if (HttpContext.Current.Request.UserHostAddress.Length != 0)
            {
                VisitorsIPAddr = HttpContext.Current.Request.UserHostAddress;
                lblIp.Text = VisitorsIPAddr;
            }

但我总是得到相同的结果。那是 127.0.0.1 并且总是进入 else if 状态。

进一步

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 没有给出任何结果。它总是一无所获

【问题讨论】:

  • 您似乎在本地运行此应用程序。
  • 我是一名学生,对编程一无所知。你能解释一下吗?

标签: asp.net web ip-address


【解决方案1】:

您在自己的机器上运行应用程序,因此您是其中的一个,因此您将始终在else if 中获得127.0.0.1。 如果您想查看另一个 IP,请打开应用程序和相关端口,然后使用另一台机器到达那里。

此外,HTTP_X_FORWARDED_FOR 并不总是存在(通常来自正常的网络请求,但也有例外)。

我认为这就是 Kundan Singh Chouhan 试图提出的建议,希望我没有错。

【讨论】:

    猜你喜欢
    • 2013-01-09
    • 2015-04-24
    • 2020-10-14
    • 1970-01-01
    • 2011-02-04
    • 2020-04-29
    • 2016-05-10
    • 2011-06-02
    相关资源
    最近更新 更多