方法一
/// <summary> /// 获取客户端的IP,可以取到代理后的IP /// </summary> /// <returns></returns> public static string GetClientIp() { string l_ret = string.Empty; if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"])) l_ret = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
if (string.IsNullOrEmpty(l_ret)) l_ret = Convert.ToString(System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]); return l_ret; }
方法二:
/// <summary> /// 获取客户端的IP /// </summary> /// <returns></returns> public static string GetRealIP() { string ip; try { HttpRequest request = HttpContext.Current.Request;
if (request.ServerVariables["HTTP_VIA"] != null) { ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim(); } else { ip = request.UserHostAddress; } } catch (Exception e) { throw e; }
return ip; }