精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

ASP.NET环境下获取用户IP的公共类,很多时候,我们要记录访问者的IP,本类可高效率获取客户端的IP地址,使用的是System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();

namespace DotNet.Utilities
{
    public static class IpHelper
    {
        #region 获得用户IP
        public static string GetUserIp()
        {
            string ip;
            string[] temp;
            bool isErr = false;
            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
                ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
            else
                ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
            if (ip.Length > 15)
                isErr = true;
            else
            {
                temp = ip.Split('.');
                if (temp.Length == 4)
                {
                    for (int i = 0; i < temp.Length; i++)
                    {
                        if (temp[i].Length > 3) isErr = true;
                    }
                }
                else
                    isErr = true;
            }
            if (isErr)
                return "1.1.1.1";
            else
                return ip;
        }
        #endregion
    }
}
Tags:ASP.NET IP 客户端