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

    技术2022-05-20  42

     

    方法一

     /// <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;   }


    最新回复(0)