美文网首页
使用python3对学校教务系统进行抢课(一)登陆篇

使用python3对学校教务系统进行抢课(一)登陆篇

作者: 代码小二 | 来源:发表于2018-09-12 19:11 被阅读0次

今天分享使用python在学校教务系统进行抢课中,用户的登陆

这是我们学校教务系统的登陆界面

教务系统的登陆界面

贼丑的登陆界面,不过不影响我们继续往下。

首先,我通过抓包获取了在登陆时,发送的表单数据:

登陆发送到饿表单数据

通过抓包,得知了登陆时使用的时POST请求,

请求的URL为:http://192.168.4.17/student/public/login.asp

以及发送的表单数据为:

"username":" 123456"

"passwd":" 123456"

"login":" (unable to decode value)"

分析数据表单,得知登陆时发送的表单格式:

"username":" "    #引号里是登陆账号

"passwd":"  "      #引号里是登陆密码

"login":" (unable to decode value)"        #这个不知道是什么

分析完表单数据,顺便复制了一下用户UA:

"User-Agent":" Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

然后我们就开始写代码了:

#coding:utf-8

import urllib

import http.cookiejar    #保存cookies用到的模块,不保存cookies可能无法进行之后的操作

url ="http://192.168.4.17/student/public/login.asp"        #登陆时请求的URL

postdata =urllib.parse.urlencode({

"username":"*******",

"passwd":"*******",

"login":"(unable to decode value)"

}).encode('utf-8')        #这里时登陆时提交的表单,账号密码我手动打码了,用的时候改一下

header = {

"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

}        #仿造用户UA

req = urllib.request.Request(url,postdata,header)        #发送数据包,接受返回的网页

##print(urllib.request.urlopen(req).read().decode('utf-8'))

#自动记住cookie

cj = http.cookiejar.CookieJar()

opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))    

r = opener.open(req)

print(r.read())    

写好了代码,运行之后,怎么知道有没有登陆成功呢?

当我们登陆成功之后,直接会进入教务系统的学生页面,当我们查看源代码会发现:

学生页面的源代码

我们发现,在学生页面的源代码中的<title>标签中会有我们登陆的学号,因此,我们只需要看返回网址的<title>就可以知道有没有登陆成功了。

相关文章

网友评论

      本文标题:使用python3对学校教务系统进行抢课(一)登陆篇

      本文链接:https://www.haomeiwen.com/subject/ckyvgftx.html