当前位置: 代码迷 >> ASP.NET >> asp.net获取IP获取出的数据是:1,该如何处理
  详细解决方案

asp.net获取IP获取出的数据是:1,该如何处理

热度:8013   发布时间:2013-02-25 00:00:00.0
asp.net获取IP获取出的数据是::1
获取IP: 
if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
  {
  ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
  }
  else
  {
  ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
  }
  reportInfo.Ip =ip;
为什么IP获取出来都是::1呢,求救呀!!!!

------解决方案--------------------------------------------------------
public String SelectPage(HttpContext context)
{
return context.Request.UrlReferrer.ToString();
}
获取客户端的IP
------解决方案--------------------------------------------------------
本地测试的结果是127.0.0.1如果是这个那么就是正确的
------解决方案--------------------------------------------------------
系统启用了IPv6就是这样的

看你 的网络连接,看你的hosts文件,不是给你贴图了吗

你就把::1替换成127.0.0.1不就得了

以后大规模使用ipv6,ip不一样的正常的
------解决方案--------------------------------------------------------
你以后还会得到这样的IP
e80::b11b:78c6:3aa1:37db%13

都很正常

不要感到奇怪
  相关解决方案