国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 使用Httpclient模拟登陆正方软件股份有限公司开发的教务管理系统

使用Httpclient模拟登陆正方软件股份有限公司开发的教务管理系统

来源:程序员人生   发布时间:2015-04-27 08:36:29 阅读次数:3102次

事前声明,我写这篇,只是为了分享1下,登录网站不止有使用cookies这1种方法,还有1种使用随机码的方法,并没有泄漏“商业机密”的想法,本人材疏学浅,只是在站在伟人的肩膀上,摘到了1个小小的苹果。。。

毕设ing...

有1模块就是获得教务管理系统里面对应学号的学生信息,并有后续的操作!正常情况下,为了实现这些功能必须要求用户正确登陆!有1段时间学习HttpClient,并在网上寻觅关于HttpClent摹拟登录网站的blog和demo学习,但是找的很多都是这样说“在获得验证码(教务系统需要输入验证码,方能登录)的时候,并获得到cookies,得到这些cookies,然后在后继的操作进程中将这些cookies加入到Header就好了”,有了这样的思路就实现以下,但是我在获得cookies的时候,得到的是“null”

<span style="font-family:Microsoft YaHei;font-size:12px;">List<Cookie> cookies = httpClient.getCookieStore().getCookies();</span>
由于Httpclient也是刚刚使用,我以为是我的代码毛病,各种调试,没有问题。最后我使用火狐阅读器,firefox登录看要求信息,奇怪的是,居然发现没有cookies,如图

这很奇怪,在HttpClent的群里问了问,有的说是调试工具的问题,我想了想也是,那就试试HttpWatch,FireBug,谷歌阅读器,还有位大哥介绍使用Fiddler2。结果仍然没有cookies,苦笑了1番,但是发现了Fiddler2这个工具不错,解析的非常详细,有兴趣的可以下载使用。

平时也不是都趴在毕设上,过了几天吧,实在想不通头绪,就找到正方软件公司客服,想问问这1块是如何实现不用cookies登录的(后来证实我这类做法太弄笑了,人家说是商业机密,不能外传),有点失望,抱着试试看的态度在网上直接搜索摹拟登陆方正系统,嘿,居然搜出好多条目,终究找到1个靠谱的Blog

通过这个Blog我终究知道了登陆的秘密

在登陆界面,当验证码出来的时候,下面的响应头里有这个属性“Location”,在后面的值中有1串长度为24的随机码,此时,地址栏里的url也加上了这段随机码!

通过这个随机码就能够进行后续的操作!

果然是这样,通过这1方法,我成功的登录进去!


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生