首页 新闻 会员 周边 捐助

获取客户端的IP地址和主机名称

0
[已解决问题] 解决于 2013-07-04 10:20
 /// <summary>
/// 获取客户端IP地址(无视代理)
public static string GetHostAddress()
     {
         if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
             return System.Web.HttpContext.Current.Request
                 .ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];
         else
             return System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
     }

 

//获取客户端主机名称

string ssIp = System.Web.HttpContext.Current.Request.UserHostAddress;
            IPHostEntry iph = Dns.GetHostByAddress(ssIp);
            Session["strPCName"] = iph.HostName;

 

现在的问题是:用以上的方法,获取的时候速度很慢!

本机运行速度OK,但是放到服务器上之后,就超慢!!!

求提速!!是方法有更好的,还是服务器的配置需要修改???

二十三号同学的主页 二十三号同学 | 小虾三级 | 园豆:974
提问于:2013-07-04 09:58
< >
分享
最佳答案
0

通过这种方式,只有进行了DNS反向解析的IP才能拿到主机名

我估计99%以上的客户端都无法拿到主机名

奖励园豆:5
dudu | 高人七级 |园豆:30948 | 2013-07-04 10:10

那只记录IP地址,主机名通过其他方式获取。

二十三号同学 | 园豆:974 (小虾三级) | 2013-07-04 10:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册