C#显示IP地址

时间:2018-04-26 15:03:44

标签: c#

尝试捕获本地网络中用户的IP地址,但由于某种原因在网页上获取以下输出“您的IP地址是::: 1”

这是IP6地址吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


public partial class _Default : System.Web.UI.Page
{
    protected void getIP()
    {
        string IPaddr = string.Empty;
        if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDER_FOR"] != null)
        {
            IPaddr = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDER_FOR"].ToString();
        }
        else if (HttpContext.Current.Request.UserHostAddress.Length != 0)
        {
            IPaddr = HttpContext.Current.Request.UserHostAddress;
        }
        Label1.Text = "Your IP address is :" + IPaddr;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        getIP();
    }
}

2 个答案:

答案 0 :(得分:1)

是的,这是一个IPv6地址。

尝试使用IPv4地址(例如127.0.0.1)访问服务器。

答案 1 :(得分:0)

如果从Visual Studio运行,则不会获得IP地址。您可以将其部署到IIS,然后从客户端尝试查看客户端的IP地址。如果服务器启用了IPv4,您将获得IPv4地址。