获取Ip地址,代码如下:
public static string GetIp()
{
string ip = string.Empty;
HttpContext context = HttpContext.Current;
if (context != null)
{
HttpRequest request = context.Request;
ip = request.Headers["HTTP_X_FORWARDED_FOR"];//微信相关特殊处理
if (string.IsNullOrEmpty(ip) || (ip.ToLower() == "unknown"))
{
ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip) || (ip.ToLower() == "unknown"))
{
ip = request.ServerVariables["HTTP_X_REAL_IP"];
if (string.IsNullOrEmpty(ip))
{
ip = request.ServerVariables["REMOTE_ADDR"];
}
}
}
}
return GetShortIp(ip);
}
获取短IP,代码如下:
public static string GetShortIp(string ip)
{
if (!string.IsNullOrEmpty(ip) && ip.Length > 25)
{
if (ip.Contains(','))
{
return ip.Split(',')[0].Trim();
}
else if (ip.Contains('\u0000'))
{
return ip.Split('\u0000')[0].Trim();
}
else {
return ip.Substring(0, 25).Trim();
}
}
return ip;
}