您的位置:首页 > 其它

怎样获得用户IP(我同高手抢分的经历)

2010-10-26 00:41 295 查看
在网上搜的答案如下(不好用):
protected void Button1_Click(object sender, EventArgs e)
{
string ip;
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR");
if (ip == string.Empty)
{
ip = Request.ServerVariables("REMOTE_ADDR");
}
ip = Request.ServerVariables("");

this.Label1.Text = ip;
}

后来看到一个高手的回帖:

http://topic.csdn.net/u/20101025/22/087099a2-2aa9-4e00-af70-80e5a9a1d6ad.html?seed=397319257&r=69343820#r_69343820

他给的答案很好用:
protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = GetClientIP();
}

private string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (String.IsNullOrEmpty(result))
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}

发现同前边的差不多:前面把方括号写成圆括号了,并且省略HttpContext.Current.,不知有何影响。

那个答题高手ID为wuyq11,昵称“人生如梦”。他有三颗钻石以及无数的奖章。他似乎一直在.NET论坛上晃,似乎什么问题都会,回答时没有废话,直接给出答案。对分数少的问题还不显眼,对一些分数高、难度大的问题,能够回答的人很少,此时就更显出他的高大了。

但是因为他是高手,废话少,有时提问题的低手看不懂他的回答,就给了我等得分的机会。那情景就像一群乌鸦跟着老鹰拣食吃。

http://topic.csdn.net/u/20101025/21/3bb6e03c-3f0e-4f2e-bd3b-5eb406c192b2.html

今天看见一题,题目是“如何屏蔽用户 和屏蔽用户发言”,分数100。进入帖子一看,只有如梦一人回帖。真是越有钱越能挣,平时20分的题都有几十人争,眼看一百大洋独落如梦腰包,心有不甘! 再看如梦答案,他说的是过滤非法字符的事。看来老虎也有打盹的时候,我的机会来了!

于是我说了几句关于屏蔽IP的事。最后楼主结账,如梦得30分,我得40分,剩下30分被其他人平分。真过瘾!

后来我想把IP的事仔细研究一下,就找到了如梦关于获取IP地址的帖子(见本文开头)。说实话,尽管我注册时间还很短(四个月),我已经欠如梦很多分了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: