private string GetIp()
{
string ip = "";
if (Context.Request.ServerVariables["HTTP_VIA"] != null)// 服务器, using proxy
{
ip = Context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
if (ip == "" || ip == null)//如果没有使用代理服务器或者得不到客户端的ip not using proxy or can't get the Client IP
{ //得到服务端的地址
ip = Context.Request.ServerVariables["REMOTE_ADDR"].ToString(); //While it can't get the Client IP, it will return proxy IP.
if (ip == "" || ip == null)//如果没有使用代理服务器或者得不到客户端的ip not using proxy or can't get the Client IP
{
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
}
if (ip == "" || ip == null)
{
ip = HttpContext.Current.Request.UserHostAddress;
}
}
return ip;
}