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