本人通过代码:        public string getIP()
        {
            string result = String.Empty;
            result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (null == result || result == String.Empty)
            {
                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }
            if (null == result || result == String.Empty)
            {
                result = HttpContext.Current.Request.UserHostAddress;
            }
            if (null == result || result == String.Empty)
            {
                return "0.0.0.0";
            }
            return result;
        }想要获取客户端的代码,但当我将程序放到另外一台机器的IIS服务器上时,浏览网页得到的IP却是服务器端的,不知错误在哪,急等

解决方案 »

  1.   

    HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    这个就是了,获得访问ip了,
    但是前面怎么对result 赋值了?这样的话就不会执行上面代码
      

  2.   

    获取客户端IP没这么麻烦吧!
    System.Web.HttpContext.Current.Request.UserHostAddress
    这个就应该可以了啊
      

  3.   

    string GetIP()
            {
                string uip = "";
                if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
                {
                    uip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
                }
                else
                {
                    uip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
                }
                return uip;
            }
      

  4.   

    我试过这个了 但是得到的IP还是服务器端的IP