首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

奇怪的获取客户端IP,该如何处理

2012-06-03 
奇怪的获取客户端IP1、private string getIp(){/*穿过代理服务器取远程用户真实IP地址:*/if (Request.Serve

奇怪的获取客户端IP
1、 private string getIp()
  {/*穿过代理服务器取远程用户真实IP地址:*/
  if (Request.ServerVariables["HTTP_VIA"] != null)
  return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
  else
  return Request.ServerVariables["REMOTE_ADDR"].ToString();
  }


2、string ip = Request.ServerVariables.Get("Remote_Addr").ToString();

用这两种方法获取客户端IP,在另外两台服务器上都正常,唯独在一台服务器上得到的是服务器的IP,怎么回事?

[解决办法]
public static string GetIPAddress()
{
string result = String.Empty;

result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}

if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;

}
[解决办法]
不理解

热点排行