通过对教务处登录进行抓包分析,发现登录教务处只需要两个操作

1 将username和password两个的值post到http://202.114.242.21/whkjdx/Logon.do?method=logon

2 通过1的操作以后,页面会跳转到http://202.114.242.21/whkjdx/index.jsp,接着我们post一个空表单到http://202.114.242.21/whkjdx/Logon.do?method=logonBySSO,这样才算完全登录成功,如果没有第二步,会提示权限错误

接下来给出具体的代码,有两种实现方法,一个是用curl来实现,一个是用snoopy.class.php来实现

登录过程是:

访问index.jsp(获得cookie,这是后面操作的基础)->向Logon.do?method=logon提交用户名和密码->自动跳转页面到main.jsp->由main.jsp发起Logon.do?method=logonBySSO的请求->登录过程完成->访问xszqcjglAction.do?method=queryxscj获得成绩

用curl来实现

$cookie_file = tempnam('./temp','cookie');//从首页获取session的密码

$ch = curl_init($login_url);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POST, 0);curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);curl_exec($ch);curl_close($ch);//准备提交数据登录

$send_url='http://202.114.242.21/whkjdx/Logon.do?method=logon';$post_fields='USERNAME=你的用户名&PASSWORD=你的密码&useDogCode=&useDogCode=&x=39&y=10';$ch = curl_init($send_url);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($ch, CURLOPT_REFERER, 'http://202.114.242.21/whkjdx/');$contents = curl_exec($ch);

curl_close($ch);$send_url='http://202.114.242.21/whkjdx/framework/main.jsp';$ch = curl_init($send_url);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($ch, CURLOPT_REFERER, 'http://202.114.242.21/whkjdx/Logon.do?method=logon');curl_exec($ch);

curl_close($ch);

$send_url='http://202.114.242.21/whkjdx/Logon.do?method=logonBySSO';$post_fields='';$ch = curl_init($send_url);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($ch, CURLOPT_REFERER, 'http://202.114.242.21/whkjdx/framework/main.jsp');curl_exec($ch);

curl_close($ch);//查询成绩

$send_url='http://202.114.242.21/whkjdx/xszqcjglAction.do?method=queryxscj';$ch = curl_init($send_url);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)');

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);$contents = curl_exec($ch);

curl_close($ch);//输出页面的内容

print_r($contents);?>

用snoopy.class.php来实现

<?phpinclude "Snoopy.class.php";$snoopy = newSnoopy;$snoopy->expandlinks=true;$formvars["USERNAME"] = "你的用户名";$formvars["PASSWORD"] = "你的密码";$action = "http://202.114.242.21/whkjdx/Logon.do?method=logon";//表单提交地址

$snoopy->fetch("http://202.114.242.21/whkjdx/index.jsp");$snoopy->setcookies();//留下cookie,这个很重要$snoopy->submit($action,$formvars);//$formvars为提交的数组

$snoopy->fetch("http://202.114.242.21/whkjdx/framework/main.jsp");$formvars=NULL;$action="http://202.114.242.21/whkjdx/Logon.do?method=logonBySSO";$snoopy->submit($action,$formvars);$snoopy->fetch('http://202.114.242.21/whkjdx/xszqcjglAction.do?method=queryxscj');echo $snoopy->results;

?>

ps:查询成绩,只要登录成功以后,访问http://202.114.242.21/whkjdx/xszqcjglAction.do?method=queryxscj就可以了

强智教务php,强智科技教务处模拟登录相关推荐

  1. 强智科技教务处模拟登录

    通过对教务处登录进行抓包分析,发现登录教务处只需要两个操作 1 将username和password两个的值post到http://202.114.242.21/whkjdx/Logon.do?met ...

  2. python模拟登录教务系统_用Python实现模拟登录正方教务系统抢课

    最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作. 而且整个流程是比较简单,这是因为正方 ...

  3. 强智教务系统API学习进度条--(以完结)

    前言 想写一个基于微信公众号的课表及成绩查询系统,记录学习过程与实现. 开发环境 IDEA JDK1.8 强智教务系统API文档 API目录 登录 (以实现) 时间信息 (以实现) 课程信息 成绩信息 ...

  4. python登录教务系统_强智科技教务系统python爬虫模拟登录分析(湖南)

    强智科技教务系统python爬虫模拟登录分析(湖南) 本文章仅用作于学习 前提:最近期末到来,想第一时间看到新出成绩的,于是就有了爬取学校教务系统自己的成绩并通过Qmsg酱推送到自己QQ上的想法,目前 ...

  5. 强智科技教务系统学科成绩c语言,湖南强智科技教务系统python模拟登录并爬取成绩(财院)...

    其实之前有写过一篇帖子了 在之前使用教务系统的过程中,偶然一次发现登上教务系统后再退出来的后的登录网址竟然不需要验证码,想着之前有写过教务系统的爬虫模拟登录,没验证码的岂不是更好干(之前那次折腾了好久 ...

  6. python3 + selenium 进行强智教务成绩的刷新以及通知成绩(华东理工大学 某ecust)

    强智教务自动刷新教务处成绩,更新后发邮件通知,以某ECUST华理为例子.此处的ECUST华理教务系统是18年9月后的新系统 Windows端或者挂在阿里云上都可以,下文示例是在Ubuntu上运行的. ...

  7. 每日获取强智教务系统课表,并发送短信到学生手机!爬虫真牛逼!

    自从学校换了强智的教务系统后,学校的app的查课表功能基本就报废了,记不住课表的我无奈自己动手. 功能实现:如果当天有课,在当天早上6点30以短信的形式自动发送课表至手机 首先我想的是利用模拟登陆然后 ...

  8. 极智嘉携手磅旗科技赋能广东洲明,树立LED行业未来发展新标杆

    近日,全球AMR引领者极智嘉(Geek+)与磅旗科技联合宣布与广东洲明节能科技有限公司达成战略合作.该项目作为LED业内首个全流程柔性智能标杆工厂,通过打通原材料收货.质检.入库.出库.产线边供料至成 ...

  9. 哈尔滨傲澜智伴机器人_智伴机器人品质保证(在线咨询),机器人

    产品名称:智伴机器人品质保证(在线咨询),机器人 产品链接:http://cn.global-trade-center.com/HotOffers/10420901.html 手机版链接:http:/ ...

  10. 前10强中【8强出炉】!第二轮评审圆满完成

    "香港科大商学院-国科京东方"2021[人工智能]百万奖金国际创业大赛项目第二轮评审圆满完成! 由近40位香港科大教授组成的"学术评委团"和20位"百 ...

最新文章

  1. 智能物联网(AIoT,2020年)(下)
  2. 分布式文件系统HDFS 练习
  3. pygame显示图片的方法_使用Pygame进行游戏开发(1)
  4. Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息
  5. 标记语言 编程语言 脚本语言分别有哪些? 区别是什么?
  6. 自己也遇到了-db_recovery_file_dest_size 修改大一点
  7. apache poi斜边框线_如何使用Apache POI在Excel单元格内画斜线(Java)
  8. 【HYSBZ - 1192】鬼谷子的钱袋(水题,二进制)
  9. P2141 珠心算测验
  10. RuntimeError: NCCL error in:XXX,unhandled system error, NCCL version 2.7.8
  11. Airtest 网易 UI 自动化工具 Airtest 浅用记录
  12. T100学习笔记 - Genero FGL
  13. STM32开发 -- GPS模块开发详解
  14. Android Connectivity分析(1)- ConnectivityManager
  15. Go 每日一库之 gorilla/sessions
  16. Visual Studio点击之前创建的Form提示“由于从未加载设计器的文档,因此无法显示设计器”
  17. 在 Python 中通过知识图谱进行语义搜索(spaCy 教程含源码)
  18. 北京奥运会Dashboard.Widgets
  19. 【开关电源RC吸收电路matlab simulink仿真】
  20. [USACO12JAN]视频游戏的连击Video Game Combos

热门文章

  1. 服务器自动关机重启1076,状态服务器上的事件 ID 1072 或1076 - ASP.NET | Microsoft Docs...
  2. Android+SpringBoot+Vue实现安装包前台上传,后台管理,移动端检测自动更新
  3. 前端实现炫酷动效_创建炫酷 CSS 背景效果的 10 个代码片段
  4. Kafka中auto.offset.reset配置项参数为earliest/或者latest的区别
  5. xlsx表格怎么筛选重复数据_excel表格如何过滤筛选重复项内容
  6. Anaconda详细安装及使用教程
  7. ASP.NET Development Server的Directory Browsing模式HTML垃圾代码
  8. 华为OD机试真题目录(Java JavaScript)
  9. 找到一份满意的工作到底要花多少钱?
  10. 再也不担心写出臃肿的Flink流处理程序啦,发现一款将Flink与Spring生态完美融合的脚手架工程-懒松鼠Flink-Boot