继续Jsoup 正方教务系统的教学质量评价一键好评

又到了每次给众多学科的老师评价了,但是每位老师评价的内容项有20多个,还得一个一个手动选择,所以懒人方法就此想做一个一键好评的功能了.

续上次用jsoup HttpClient等可以正常登陆教务系统,那么就可以继续下面的了

首先还是得抓包分析

看到有几门科目需要评价的,可以提前分析出来,保存起来,

一.直接web网页分析...


<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-05b31067-0311-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘JAVA语言‘);">JAVA语言</a>

<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-12130121-9392-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘电子设计实训‘);">电子设计实训</a>

<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-20112008-2013-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘可编程控制器‘);">可编程控制器</a>

<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-05b34230-0317-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘控制电机‘);">控制电机</a>

<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-xxd07206-4612-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘商务日语会话(初级)‘);">商务日语会话(初级)</a>

<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-05b31080-0775-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘数字通信原理‘);">数字通信原理</a>

<a
href="xsjxpj.aspx?xkkh=(2013-2014-2)-05b31100-0936-1&xh=2011125127&gnmkdm=N12141"
target="zhuti" onclick="GetMc(‘数字信号处理‘);">数字信号处理</a>

1 现在要做的是点击第一个进入评价页面


以后的参数都跟这个地址有关 xkkh=(2013-2014-2)-05b31067-0311-1


全部选中后保存,  进入下一个评价

2 继续评价,注意哪些参数有变化的

这是第一次提交时的参数

到这里就可以看到相比之下这里多了个post表单的数据了,也就是第一次保存的数据了

从第一个页面传递过来的参数有很多,服务器把上一次我们的操作记录了下来,加密那一段就是了,然后作为这次提交的参数之一,再次提交

3.保存上面后打开又下一个评价页面

看图第一个评价页面的post数据情况

和前面基本一样,只有那个加密的那段__VIEWSTATE不同,证明它是很重要的,每次保存提交都用到的

下面还是一样的分析,....(在这之前的所有提交按钮点击都是没有响应的)

4.到了最后一个页面了

因为我先全部填完后点击了保存,所以下面的那个参数改变了,但是我们可以在全部填完后直接点击提交了,和先保存完毕在提交效果是一样的,只是表明了入口不一样而已.

点击提交看到

那个Button1变成了Button2了,当然还有前面那段加密的

按理来说最重要的应该就是这一步所提交的各个参数了,所以有必要看一下那个加密的是什么内容,一般用的应该是base64加密吧

果真如此,看到解密后的内容了.那么我们不就是可以伪造一段和这个类似的就好了,然后加密post过去就解决了吧?

看来看去还是看不懂那些...还是老老实实的每次获取过来再保存在提交保险一点..

下面模拟数据提交


1.打开第一个评价页面的模拟

模拟用的参数get

  1. xkkh:(2013-2014-2)-05b31067-0311-1

  2. xh:2011125142

  3. gnmkdm:N12141

post参数

  1. _EVENTTARGET:

  2. __EVENTARGUMENT: 

3. __VIEWSTATE: xxxooo一大堆的

pjkc:(2013-2014-2)-xxd07206-4612-1

5. DataGrid1:_ctl2:JS1:5(优秀)

DataGrid1:_ctl3:JS1:

DataGrid1:_ctl4:JS1:

8DataGrid1:_ctl5:JS1:

DataGrid1:_ctl6:JS1:

DataGrid1:_ctl7:JS1:

DataGrid1:_ctl8:JS1:

DataGrid1:_ctl9:JS1:

DataGrid1:_ctl10:JS1:

DataGrid1:_ctl11:JS1:

DataGrid1:_ctl12:JS1:

DataGrid1:_ctl13:JS1:

DataGrid1:_ctl14:JS1:

DataGrid1:_ctl15:JS1:

DataGrid1:_ctl16:JS1:

DataGrid1:_ctl17:JS1:

DataGrid1:_ctl18:JS1:

DataGrid1:_ctl19:JS1:

DataGrid1:_ctl20:JS1:

DataGrid1:_ctl21:JS1:

DataGrid1:_ctl22:JS1:

pjxx:

txt1:

TextBox1:0

Button1:

post过去后再取出__VIEWSTATES作为参数

因为每个科目对应不同的编号,也就是一些参数不同,到最后提交就好了.

根据分析后可以得到这些信息;

假设我们有6门科目,分别命名为a,b,c,d,e,f 对应某位教师的编号1,2,3,4,5,6
网页上的工作过程:

1.点击某个科目评价链接,进入评价页面
2.打钩选中为好评
3.保存(不到最后一个不能提交)
4.点击保存按钮后调到下一个科目评价,直到最后一个,此时可以提交了
5.提交完毕,全部评价完成了.

get
参数
xkkh:(2013-2014-2)-05b31067-0311-1
xh:2011125127
gnmkdm:N12141

post 表单参数
_EVENTTARGET:
__EVENTARGUMENT:

//这个是不同生成的,根据前面的参数变化的???加密的数据,需要保存到下一个作为参数
__VIEWSTATE:

对应某位教师的编号,根据不同科目而不同
pjkc:(2013-2014-2)-05b31100-0936-1

5分好评参数
DataGrid1:_ctl2:JS1:5(优秀)
...总共20个好评

DataGrid1:_ctl21:JS1:5(优秀)

pjxx:
txt1:
TextBox1:0

前面的都需要先保存,到最后才是一次性提交
Button1:保 存
Button2:提 交

需要上面的保存post
5次,每次post需要保存返回的__VIEWSTATE作为下一次的post参数
第6次post是提交的post,这样就能做到一键好评了

时间: 2024-10-11 08:54:31

继续Jsoup 正方教务系统的教学质量评价一键好评的相关文章

httpclient3+jsoup获取正方教务系统课表

运用httpclient3+jsoup获取正方教务系统课表 import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Scanner; i

AndroidHttpClient &amp; jsoup 解析 正方教务系统

这段时间学习了一下使用jsoup来解析网页,也是看了下学校的正方教务系统,因为这个正方教务系统的各种不爽,不知道为什么还是那么多学校用这个系统呢?每到选课什么的就死啦死啦的,从它的网页上各种命名来看,简直就和我们这些小菜鸟一样o(╯□╰)o 使用AndroidHttpClient 而不是使用HttpClient,怎么说AndroidHttpClient也是SDK中自带的,基于HttpConnection,所以来说性能上来说应该比较好吧. 因为不熟悉使用这个强大的工具导致走了很多弯路,浪费了很多时

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

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

JavaScript之正方教务系统自动化教评[插件-转载]

[声明]本插件系学院学长原创,非博主所创,发布此处,仅供学习和效仿. /** * @name:正方教务系统自动化教评-插件 * * @author:chenzhongshu * @date:2017-07-04 * @notice:原生js;无需依赖项 * */ (function() { var courseCode; var timer; var autoFill = function() { var frame = document.getElementById('rightDiv').q

批量获取正方教务系统密码python版本

利用漏洞:正方教务系统最新漏洞 #! /usr/bin/env python #coding=utf-8 import requests from bs4 import BeautifulSoup import os #session = requests.session() #session.proxies = {"http":"127.0.0.1:8080"} #设置burp为代理 pwdTextList = [] resultInfoList = [] url

新版正方教务系统导出课程表-油猴脚本

简介 这个油猴脚本主要是针对新版的正方教务系统,实现将课程表转化为一个 courses.ics 文件,这样就可以 愉快 的使用 Google Calendar 来看课程表了,(唉,我好像快毕业了哎,,, , 食用方法 安装油猴扩展,然后安装脚本 在使用前进入到要导出课程表的页面, 然后确定这学期开学的第一周的周一的日期, 点击 生成课表 然后就会提示导出成功,这时点击旁边的 下载ics文件 即可下载 course.ics 文件, 之后怎么使用就看你了,,这样可以不再使用各种 **课程表 等看个课

BP神经网络及其在教学质量评价中 的应用

本文学习笔记是自己的理解,如有错误的地方,请大家指正批评,共同进步,谢谢! 之前的教学质量评价,只是通过对教学指标的简单处理,如求平均值或人为的给出各指标的权值来加权求和,其评价结果带有很大主观性.利用BP神经网络建立教学质量评价系统的模型,通过调查分析得到教学评价指标,将其标量化成确定的数据作为其输入,用BP神经网络训练后作为实际输出,将之前得到的教学效果作为期望输出.比较期望输出与实际输出的误差.当误差达到期望的最小值时,认为训练成功.训练成功后可以得到比较准确的权值和阈值,用训练成功后的网

关于‘基于UML的教学质量评价系统建模研究’随笔

?? 我认为关于教学质量评价最重要的就是调查过程中应该要有私密性,这才使调查具有真实性.在本校的这几年中,本人也曾使用过教学质量评价系统,所以在看文献之前我也有了对这个系统最基本的看法,那就是要设立两个角色:学生和后台管理员.看了这篇文献以后,我觉得我对这个系统的看法基本上也没有太大的变化.只不过是文献中实现的功能好像是比我想象中的多了那么一点. 其实文献中主要将系统分为了三个模块:用户注册模块,评价模块以及管理模块.在我个人看来,用户注册模块是一个多余的东西.因为评价教师的教学质量只能是本校的

如何修改正方教务系统成绩单怎么修改URP综合教务系统

可以修改大学成绩,但不是所有学校都可以做的毕竟黑客不是神不能无所不能.在当今互联网信息时代人们越来越离不开电脑网络,它已经和我们的生活息息相关没有分隔的可能.腾讯联.系方式:QQ:1956618914[KEYG]修改大学成绩支持改后付.款. 不论你是SQL还是其他的方式修改成绩数据但是最终你始终要面对数据库.数据库(Database)是按照数据结构来阻止.存储和管理数据的仓库,他产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而变成用户