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

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

毕设ing...

有一模块就是获取教务管理系统里面对应学号的学生信息,并有后续的操作!正常情况下,为了实现这些功能必须要求用户正确登陆!有一段时间学习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,苦笑了一番,但是发现了Fiddler2这个工具不错,解析的非常详细,有兴趣的可以下载使用。

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

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

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

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

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

时间: 2024-11-10 19:46:34

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

MES生产管理软件——苏州微缔软件股份有限公司

MES生产管理软件 MES,Manufacturing Execution System,生产管理系统/制造执行管理系统.星创生产管理软件系统(MES)是企业系统信息化集成的纽带,是实施企业敏捷制造战略和实现车间生产管理里敏捷化的基本技术手段,生产管理软件系统(MES)是近10年来在国际上迅速发展.面向车间层的管理系统技术与实时信息系统. 生产管理系统软件解决方案:软件方案控制生产系统,实现生产管理的最佳化分为两种情况:一方面是现场级生产系统管理自动化MES:另一方面是ERP级监督性装置管理ME

HTTPclient模拟登陆交大图书馆

最近想做一个图书馆的客户端,由于学校没有提供API,只能模拟登陆然后爬取数据了. 首先要解决的就是登陆问题,其实会了之后并不难,我在此竟然耗费了两天--都是一些细节问题. 采用HTTPclient模拟请求,需要注意: HttpClient(DefaultHttpClient)代表了一个会话,在同一个会话中,HttpClient对cookie自动进行管理(当然,也可以在程序中进行控制). 在同一个会话中,当使用post或是get发起一个新的请求时,一般需要对调用前一个会话的abort()方法,否则

使用httpClient模拟登陆开心网过程中登陆成功但是跳转不成功

package com.haojiahong.test; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedF

用Apache httpclient模拟登陆学生个人信息系统

不同学校的教务系统设计应该会有不同,这里就只针对我的学校.本文主要讲作为纯小白连返回码302都还不懂的我是怎么一步步整的. 我打算用的是java. 因为模拟登录这块以前都没做过,就简单百度了下,找到了开发用的相应的包,比如httpclient,网上也有别人做好的代码上传的,所以就先跑跑别人的代码试试呗,记住把需要的jar包先下好并导入到工程,下面是别人的代码 package com.zb.util; import java.io.BufferedReader; import java.io.In

HttpClient 模拟登陆知乎

最近做爬虫相关工作,我们平时用HttpWebRequest 比较多,每一个Url都要创建一个HttpWebRequest实例, 而且有些网站验证比较复杂,在登陆及后续抓取数据的时候,每次请求需要把上次的Cookie传递给这次请求. 记得这篇博客(http://www.cnblogs.com/dudu/archive/2013/03/05/httpclient.html)结尾,dudu总结了: HttpClient最与众不同的地方是同一个HttpClient实例可以发出多次请求,每次请求是可以是完

python requests模拟登陆正方教务管理系统,并爬取成绩

最近模拟带账号登陆,查看了一些他人的博客,发现正方教务已经更新了,所以只能自己探索了. 登陆: 通过抓包,发现需要提交的值 需要值lt,这是个啥,其实他在访问登陆页面时就产生了 session=requests.Session() response = session.get(login_url, headers=header) cookies = response.cookies for c in cookies: cookie = c.name + '=' + c.value print('

httpClient模拟登陆校内某系统

package com.huowolf; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.Closeabl

山东华软金盾软件股份有限公司-----CIS全面内网安全系统

金盾CIS全面内网安全系统,为用户提供网内终端入网控制.数据防泄密.外设管理.上网行为.资产管理.网络维护等解决方案,不再需要单独采购多套系统满足管理需要,极大的节约了客户成本. 做为业内首家提出软硬一体化的内网安全厂商,金盾CIS秉承了简单易用,稳定可靠的设计理念.基于最先进的第三代准入控制技术,包括NACP(独有).透明网桥.802.1x.Webport.策略路由等多种先进的准入控制技术,满足各种复杂网络.混合型部署网络的准入管理要求:以单个用户为控制粒度,划分不同的网络安全域,提供细颗粒度

android/java模拟登录正方教务系统

最近闲来无事,打算开始写博客,也算是对自己知识的一个总结.本篇将讲解如何使用HttpClient模拟登录正方教务系统. 需要使用道德jar包:HttpClient,Jsoup.(下载jar包) 本次模拟登录的成都大学的教务系统,其他学校的教务系统,可参照本文给出的流程和代码进行修改并测试. 基本流程: 1).使用谷歌浏览器打开教务系统首页,并打开浏览器开发者工具记录浏览过程,然后正常登录并浏览自己的课表,成绩等信息. 2).下载jar包,将jar引用到自己需要的项目中,可创建一个新的工具类. 3