- A+
所属分类:ASP.NET
直接贴代码方便备查
- /// <summary>
- /// 获取客户端IP
- /// </summary>
- /// <returns></returns>
- public string GetIp()
- {
- string Ip = "未获取用户IP";
- try
- {
- if (System.Web.HttpContext.Current == null || System.Web.HttpContext.Current.Request == null || System.Web.HttpContext.Current.Request.ServerVariables == null)
- return "";
- string CustomerIP = "";
- CustomerIP = System.Web.HttpContext.Current.Request.Headers["Cdn-Src-Ip"];
- if (!string.IsNullOrEmpty(CustomerIP))
- {
- return CustomerIP;
- }
- CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
- if (!String.IsNullOrEmpty(CustomerIP))
- return CustomerIP;
- if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
- {
- CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
- if (CustomerIP == null)
- CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
- }
- else
- {
- CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
- }
- if (string.Compare(CustomerIP, "unknown", true) == 0)
- return System.Web.HttpContext.Current.Request.UserHostAddress;
- return CustomerIP;
- }
- catch
- {
- Ip = null;
- }
- return Ip;
- }