ASP.NET获取IP地址

public static string GetRealIP()
{
     string result = System.Web.HttpContext.Current.Request.Headers["Cdn-Src-Ip"];
     if(string.IsNullOrEmpty(result))
{ result = System.Web.HttpContext.Current.Request.Headers["HTTP_X_FORWARDED_FOR"]; } if(string.IsNullOrEmpty(result))
{ result = System.Web.HttpContext.Current.Request.Headers["HTTP_VIA"]; } if(string.IsNullOrEmpty(result))
{ result = System.Web.HttpContext.Current.Request.Headers["REMOTE_ADDR"]; } if(string.IsNullOrEmpty(result)||!IsIp(result))
{ result = "127.0.0.1"; } return result; } /// <summary> ///是否为ip /// </summary> /// <param name="ip"></param> /// <returns></returns> public static bool IsIp(string ip) { return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$"); }

  

posted @ 2019-04-11 16:07  磬音  阅读(442)  评论(2编辑  收藏  举报