C#获取客户端的IP的两种方法

来源:互联网 发布:音乐编辑软件手机版 编辑:程序博客网 时间:2024/05/19 22:06

 

方法一

 /// <summary>
        /// 获取客户端的IP,可以取到代理后的IP
        /// </summary>
        /// <returns></returns>
        public static string GetClientIp()
        {
            string l_ret = string.Empty;
            if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"]))
                l_ret = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);

            if (string.IsNullOrEmpty(l_ret))
                l_ret = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
            return l_ret;
        }

 

 

 

方法二:

 

        /// <summary>
        ///  获取客户端的IP
        /// </summary>
        /// <returns></returns>
 public static string GetRealIP()  
{  
string ip;  
try
{  
HttpRequest request = HttpContext.Current.Request;  

if (request.ServerVariables["HTTP_VIA"] != null)  
{  
ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim();  
}  
else
{  
ip = request.UserHostAddress;  
}  
}  
catch (Exception e)  
{  
throw e;  
}  

return ip;  
}

原创粉丝点击