使用Request.servervariables c#时出现奇怪的ip

时间:2013-07-05 08:14:18

标签: c# asp.net-mvc ip

我的Web应用程序在本地IIS服务器上运行。在调用我的网络应用程序的api时 使用fiddler我得到一个奇怪的客户端IP地址。

public static class HttpRequestMessageHelper
{
    public static string GetClientIpAddress(this HttpRequestMessage request)
    {
        string ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
        if (string.IsNullOrEmpty(ip))
        {
            ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
            if (string.IsNullOrEmpty(ip))
            {
                return "Unknown IP-Adress";
            }
        }
        return ip;
    }
}

我正在使用此扩展方法来获取ip。 ip我看起来像这样:“fe80 :: 745a:d3fa:db2c:7b94%11”

1 个答案:

答案 0 :(得分:0)

这是一个IPv6地址: http://en.wikipedia.org/wiki/IPv6

由于世界上运行的是IPv4地址(xxx.xxx.xxx.xxx),新标准是引入很多更多地址。

可悲的是,它们并不容易记住,因此DNS查找将至关重要恕我直言。

您可以检查适配器设置/ ipconfig和/或您的DHCP服务器(也许是本地路由器?),看看您是否有可能获得IPv6地址。