关于获取用户IP地址的ASP.NET问题

时间:2010-09-10 08:40:09

标签: c# asp.net request.servervariables remote-host

我正在尝试使用以下方法获取IP地址: -

    protected void Page_Load(object sender, EventArgs e)
    {
        string ClientIP;
        ClientIP = HttpContext.Current.Request.UserHostAddress;
        Label1.Text = ClientIP;
    }

此代码输出127.0.0.1。

下面的代码什么都没显示!

    string ClientIP;
    ClientIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    Label1.Text = ClientIP;

如何获取IP地址?用户的REAL IP地址?

[编辑]

我不想要EXACT位置BTW。我需要知道该国家/地区,然后将用户重定向到相应的网页。

2 个答案:

答案 0 :(得分:3)

Request.Params["REMOTE_ADDR"]

答案 1 :(得分:2)

使用System.Net,试试这个 -

// Then using host name, get the IP address list..
          IPHostEntry ipEntry = DNS.GetHostByName (strHostName);
          IPAddress [] addr = ipEntry.AddressList;

          for (int i = 0; i < addr.Length; i++)
          {
              Console.WriteLine ("IP Address {0}: {1} ", i, addr[i].ToString ());
          }