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

我获取本机ip但是返回的结果却是::1
我使用的是NgHaiFeedBackInfo.Ip = Request.UserHostAddress或者是一个方法
 HaiFeedBackInfo.Ip = getIP();
  /// <summary>
  /// 获取IP地址
  /// </summary>
  /// <returns></returns>
  public static string getIP()
  {
  string user_IP = string.Empty;
  if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
  {
  if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
  {
  user_IP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
  }
  else
  {
  user_IP = System.Web.HttpContext.Current.Request.UserHostAddress;
  }
  }
  else
  {
  user_IP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
  }
  return user_IP;
  }
出来的结果都是::1

------解决方案--------------------
要不放到IIS中进行访问吧,
------解决方案--------------------
在hosts文件里面设置就应该就不会出现这问题了
------解决方案--------------------
你开启了IPV6?
------解决方案--------------------
IPv6的原因。
卸载IPv6协议,或者修改hosts文件,增加一行
XML code
127.0.0.1 ::1

------解决方案--------------------
LZ放心,这个到时候放在服务器上就可以了 ,正常获取到IP地址了