C# 获得客户端ip

参考:http://www.cnblogs.com/stay-foolish/archive/2012/05/01/2475071.html

public static string GetHostAddress()
{
    string userHostAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
    
    if (string.IsNullOrEmpty(userHostAddress))
    {
        userHostAddress = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    }
            
    //最后判断获取是否成功,并检查IP地址的格式(检查其格式非常重要)
    if (!string.IsNullOrEmpty(userHostAddress) && IsIP(userHostAddress))
    {
        return userHostAddress;
    }
    return "127.0.0.1";
}

/// <summary>
/// 检查IP地址格式
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static bool IsIP(string ip)
{
    return System.Text.RegularExpressions.Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
}


转载请注明:康瑞部落 » C# 获得客户端ip

0 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注