日期:2014-05-17  浏览次数:20581 次

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

都很正常

不要感到奇怪