C# Asp.net获取用户外网真实Ip地址

/// <summary>  
        /// 获取远程访问用户的Ip地址  
        /// </summary>  
        /// <returns>返回Ip地址</returns>  
        protected string GetLoginIp()  
        {  
            string loginip = "";  
            //Request.ServerVariables[""]--获取服务变量集合   
            if (Request.ServerVariables["REMOTE_ADDR"] != null) //判断发出请求的远程主机的ip地址是否为空  
            {  
                //获取发出请求的远程主机的Ip地址  
                loginip = Request.ServerVariables["REMOTE_ADDR"].ToString();  
            }  
            //判断登记用户是否使用设置代理  
            else if (Request.ServerVariables["HTTP_VIA"] != null)  
            {  
                if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)  
                {  
                    //获取代理的服务器Ip地址  
                    loginip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  
                }  
                else  
                {  
                    //获取客户端IP  
                    loginip = Request.UserHostAddress;  
                }  
            }  
            else  
            {  
                //获取客户端IP  
                loginip = Request.UserHostAddress;  
            }  
            return loginip;  
        }  

 

posted @ 2022-03-23 08:45  离。  阅读(203)  评论(0编辑  收藏  举报