在.Net的海洋里面寻找真我
感觉自己也快成了标题党,起了个这么吓人的名字,发一个以前写的小程序,同时也算是自己以前一段感情的一篇祭文,谁让俺是程序员呢,写祭文都要写得这么有社会主义特色。
她是我的一个师妹,几年前大家都在深圳,但由于各种原因也没有太多的接触,说句老实话本来对她就挺有好感的,可是后来她回南京了,结果大家天各一方。她也是一个很有才的mm,经常搞些古灵精怪的东西出来,比如有一次她让我测一下我对她的了解有多少,给了我一个网址:http://www.testren.com/mylist.aspx?userid=2656967(提醒一下各位gg,这是我自己的,她的没有经过她同意我也不可能放上来,对这篇文章里面技术感兴趣的TX也可以自己申请一个玩玩)。看看这个网站就知道了,它的创意主要就是给用户自己在上面出一些题目,然后发给自己的亲戚朋友姨妈姑爹,测一下对自己的了解程度有多少,后来还增加了点击广告提示答案(蛮有创意的)。开始我也觉得是小女孩喜欢玩的把戏,没多大放在心上,随便测了一下得了可怜的40分。
后来也不知道怎么地开始和她在网上有一搭没一搭的闲聊起来,我猜她有男朋友,当然她说没有(不过事实后来验证了我的直觉)。为了满足自己"罪恶"的偷窥欲,进一步了解她,我决定把她以前给我的测试题答案都迭代出来(嘿嘿,迭代,每个程序员都很熟悉的一个词)。
一、思路:
二、准备知识:
但是也用到了一些关于Http请求和正则的一些知识,http协议可以在网上搜一下关于孙鑫老师的HTTP协议视频教程,正则的话就不说了,网上一大把,下面要用到的工具Fiddler2自身也有个视频教程。
三、页面分析:
借助web开发居家旅行必备工具:IEDevelopToolbar、Fiddler2。
作为有代表性的两道题目,我选择了第一道和最后一道,还要把答题者、email和所在地填上:
分析Fiddler2截获的提交数据
由于信息比较多,我把与提交请求页相关的信息截到下面这张图里
重要的信息都标注出来了,说明一下:
ViewState和EventValidation可以通过http://www.testren.com/mylist.aspx?userid=2656967的请求页返回的html页面分析通过正则id=\"__VIEWSTATE\" value=\"(?<VIEWSTATE>.*?)\"和id=\"__EVENTVALIDATION\" value=\"(?<EVENTVALIDATION>.*?)\"获得,答案部分就需要我们自己去根据迭代的内容添加进去了,如果有20道题就要添加20个,相关的input标签的name可以参照上面用红色圈起来的部分,第1题的序号是从102开始,最后一题是102+19=121。其他的提交信息简单的处理办法就是照猫画虎,有样学样附加进去就得了。
顺便用IEDeveloperToolbar确定一下,我们要找的ctl00$ctl00$ctl00$MainContent$MainBodyContent$MainBodyContent$mylist$ctl21$selectRBL的位置(4个选项的name都是它,值就是1或者2,3,4),很稀饭IEDeveloperToolbar的这个Select Element by Click功能,给大家推荐一下。
最后把返回页面里面的得分通过正则(\d{1,3})分过滤出来就可以了。
四、代码:
界面比较简单,提交后要过一会才能显示答案,另外有一点不好,就是网站会记录下你的迭代过程,其实作弊还是可以看得出来的)。
另外一个比较重要的地方是为了保存一个统一的访问session,我们必须使用 CookieContainer cookie = new CookieContainer();来装载第一次访问产生的cookie,同时每次请求的时候都要附上这个CookieContainer
相关代码下载
最后借助这个小工具把mm的题目答案都弄下来了,假装不经意的告诉她的时候,收到两个字答复,乖乖!(相信在南京呆过的人都会会心一笑)。估计有人会8一下问我后来怎么样了,后来只能说无疾而终,据说她和男朋友去了距离天堂最近的地方巴厘岛旅游后就分手了。呵呵,如果是你的话会继续追她吗?感情真的是一种很奇怪的东东~~
ps:如果你也有和技术有关的感情故事,欢迎你也来晒一下啊 呵呵
一蓑烟雨任平生
posted on 2008-01-03 03:36 周克 阅读(3144) 评论(43) 编辑 收藏
不错 回复 引用 查看
你, 你, 你真行... 回复 引用
@怪怪(未登录) 还没睡啊 回复 引用 查看
嗯, 赶了会儿工, 抽点时间出来游荡一下, 看看最近有什么值得一学的东西. 回复 引用
都说黑色背景对眼睛好,我怎么觉得看得那么累呢?尤其是下面的评论,看来真是人老眼花了-_- 回复 引用 查看
不过文章写得确实好,赞一个^-^ 嘿嘿,学以致用 回复 引用 查看
呵呵,学以致用啊。 回复 引用 查看
@兰亭我们想到同一个词了,我可以没有看到你的。发完才看到你也跟我写得一样的词,词气词都差不多 回复 引用 查看
楼主倒是非常有创意 回复 引用 查看
有点意思 回复 引用 查看
后来,我终于学会了如何去爱,可是你,已经远去消失在人海。 回复 引用 查看
当时大概把MM吓得半死, 乖乖。 回复 引用
乖乖,好熟悉的啊.其实我也很郁闷.感情是个什么东西. 回复 引用 查看
不错不错 回复 引用
牛,有创意 回复 引用 查看
这个,这个,厉害 回复 引用 查看
8错8错,赞个,呵呵 回复 引用 查看
@兰亭 开始我也不习惯,多看看就习惯,感觉这个皮肤还行 回复 引用 查看
@阿不 哈哈 人有多大胆 地有多大产 回复 引用 查看
你太牛逼了 佩服啊 回复 引用 查看
不错不错就是能不能把这个字体的颜色改一下,稍微再亮一些的.要不然看起来真得挺费劲的. 回复 引用 查看
这个背景太累眼了,若不是lz文章太好,我估计看一会儿就放弃了。 回复 引用 查看
乖乖,楼主追女孩子还真有一手。 回复 引用 查看
记得这个网站是一个参加“赢在中国”还是什么节目的人做的项目。这个网站刚推出流量就往上直飚,不过不知道现在访问量如何? 回复 引用 查看
乖乖,LZ牛人也 回复 引用 查看
改背景了,虽然很稀饭变形金刚 回复 引用 查看
小Y头想法到是蛮多的,女人太聪明了反而也不好,是我的话就不会去追这样的女孩.可能不太了解. 回复 引用 查看
分手了的,別追。 回复 引用 查看
测试了一下,好象不准,是不是逻辑出了点问题。。 才65分。。 回复 引用 查看
请问楼主,你的那两个IEDevelopToolbar Fiddler2 能否给发个到我邮箱里? 我到处都找不到。谢谢 回复 引用
哈哈 好玩 回复 引用
牛!!!! 回复 引用 查看
@静旅 不好意思 更正过来了,原来这句 if (temp < 10) { pattern = HttpUtility.UrlEncode("$ctl0" + temp + "$selectRBL") + "="; } 的selectRBL后面多了个等号,去掉就好了 回复 引用 查看
太有才了。 我前前后后看了几遍,准备写篇类似的论文出来。呵呵 回复 引用 查看
8错! 回复 引用 查看
我追我女朋友的时候做了我第一个个人网站(topic: cfans & sing)。后来因此学习了asp脚本,再后来是asp.net开发。也算因此搞上技术了。只可惜,我们分手了。不过我和她都算深圳人,都在深圳。 回复 引用 查看
@cfans 看得出来 你当初挺痛苦的 你和我一个同事一样为了追mm在大学的时候帮人家狂做网站 回复 引用 查看
有意思!赫赫 回复 引用 查看
竟然以此为生日礼物, 晕死! 还有, 楼主直觉太烂了~~ 回复 引用
不要小看这份生日礼物,花了我不少时间和心血写的,大小姐 回复 引用 查看
原来你那时搞这个是为了追 MM啊 回复 引用 查看
周老师......用心良苦!!!!! 服你了 回复 引用 查看
奔驰也疯狂啊。 回复 引用 查看
Powered by: 博客园 Copyright © 周克