锁定老帖子 主题:HTTPClient模拟登陆开心网001
精华帖 (3) :: 良好帖 (3) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-13
最后修改:2010-04-16
网站登陆分类
不考虑HTTPS,网站通过浏览器登陆大约可以分为如下几类
开心001的登陆开发实践 和人人一样,我在做开心001登陆开始的时候也是使用badboy录制登陆过程,用jmeter重放。发现登陆时并没有直接发送密码明文,而是用如下两个参数代替: 引用 encypt
rpasswd 猜测开心可能使用了一个encyptKey(encypt)对用户输入的密码进行处理,生成一个rpasswd。通过firebug追踪登陆过程,证实了这个猜想:如果用户没有登陆,每次访问登陆页面时,服务器会发一个encyptKey到客户端,返回在网页里(保存成javascript变量的形式),用户输入密码并提交后,会运行一段js代码,这段代码会使用encyptKey对密码进行处理,生成rpasswd参数发送给服务器进行校验。由于每次访问登陆页面服务器返回的验证码不同,这就使得你在某次录制产生的参数下次就不能登陆。 发现这个问题后,尝试了如下解决方法:
最终的登陆流程
源码参考附件,运行前加一下开心的账号和密码。 验证码问题 (补充) 上一个帖子里,很多人问到验证码问题,关于验证码,个人简单看法如下:
注: Foxswily提供了一个更好的工具HTMLUnit,直接模拟点击网页,我没有实践过,建议大家可以试一下。 http://www.iteye.com/topic/644353 有人提到Selenium,这个我以前没有用过,看起来不错,有空可以试一下。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-04-14
顶~~~~期待新作~~不只是登录 还加点 发帖哈~
|
|
返回顶楼 | |
发表时间:2010-04-14
gstarwd 写道 顶~~~~期待新作~~不只是登录 还加点 发帖哈~ 有的网站发帖虽然没有注册码~~但是也是 有限制的哦~~那就更难处理了 是不 |
|
返回顶楼 | |
发表时间:2010-04-14
gstarwd 写道 gstarwd 写道 顶~~~~期待新作~~不只是登录 还加点 发帖哈~
有的网站发帖虽然没有注册码~~但是也是 有限制的哦~~那就更难处理了 是不 恩,这种限制可能类似“字数限制”或是“一段时间发帖数”限制,比较BT就是关于“和谐”的限制,比如说javaeye居然不让输入“绿-坝”, 不过这些都可以在实践中根据不同情况来处理吧。 |
|
返回顶楼 | |
发表时间:2010-04-14
最后修改:2010-04-14
~~呵呵 期待一下你的续集
|
|
返回顶楼 | |
发表时间:2010-04-14
哈哈 你又发这个了 呵呵 支持你 在多写点功能
|
|
返回顶楼 | |
发表时间:2010-04-14
问问,有没有工具能够监测c/s客户端的登录过程
ps:我现在玩的是三国策6,一直不知道怎么做个自动登陆器,badboy好像只对网页有效 |
|
返回顶楼 | |
发表时间:2010-04-14
whaosoft 写道 哈哈 你又发这个了 呵呵 支持你 在多写点功能
呵呵,基本上没有什么续集了。对豆瓣的API有点兴趣,不过没时间搞了。 |
|
返回顶楼 | |
发表时间:2010-04-14
fengsky491 写道 问问,有没有工具能够监测c/s客户端的登录过程
ps:我现在玩的是三国策6,一直不知道怎么做个自动登陆器,badboy好像只对网页有效 不好意思,没搞过。 |
|
返回顶楼 | |
发表时间:2010-04-14
有更简单的实现
htmlunit http://htmlunit.sourceforge.net/ 可以模拟点击按钮等等,属于在httpclient更高一层的应用,本意用于测试,实际用来模拟登录效果异常的好。 |
|
返回顶楼 | |