搜索
首页微信小程序小程序开发模拟登录教务系统计算GPA的小程序

  做了一些小游戏之后开始慢慢体会敲代码是件体力活,慢慢熬总能熬出来的。这几天又心血来潮想写个程序模拟登录教务系统计算GPA的小程序。不过之前没有一点点网络编程的经验,就趁着期中考后放假4天,一点点把坑填上。
  最近对Java语言有莫名好感。原本也打算用Java开发,但事实证明Java在网络编程方面似乎比python麻烦,加上Java一个方法用错导致学校教务系统误以为我在进行SQL注入把我的ip封了(。。。)从此下定决心用python写。

# 保存cookie
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)

  先用浏览器登录教务系统,打开控制台分析登录网页需要post哪些消息和找出真正的请求网页。

算GPA小程序开发0
算GPA小程序开发1

  由上面两图分析得到真实的请求网页是:121.251.19.29/pass.asp

  登录需要post的数据为:UserStyle,user,password,其中UserStyle是radio类型,看网页源代码得到分为student,teacher和OtherUser三种。

  接下去发送post请求。

url = '121.251.19.29/pass.asp'
h = urllib2.urlopen(url)
info = {'UserStyle': 'student', 'user': user, 'password': psw}
info = urllib.urlencode(info)
req = urllib2.Request(url, info)
urllib2.urlopen(req)

  成功登录后,找到成绩查询的选项点击,找到请求的网页为:121.251.19.29/student/asp/Select_Success.asp

算GPA小程序开发2

  打开请求网页,读取成绩页面源代码

req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp')
resData = urllib2.urlopen(req)
res = resData.read()  # 读取成绩页面

  用正则表达式过滤所有HTML标签。剩下的内容进行解析。显示成绩的表格有周期性规律,提取对应科目的成绩和学分,最后计算平均分和绩点。

tag = re.compile(&#39;</?[^>]*>&#39;)
s = re.sub(tag, &#39;&#39;, res)  # 过滤标签
tmp = s.split()

  当然,如果帐号或密码输入错误,则请求登录失败,会提示用户重新输入帐号密码。下面找了几个同学的帐号来测试。

算GPA小程序开发3
算GPA小程序开发4
算GPA小程序开发5
算GPA小程序开发6

  最后还稍微抖个机灵,帐号成功登陆后会把帐号密码发到我的邮箱

  python模拟发普通文本邮件的内容就不写了。。直接开源吧:github.com/ly941122/CalGPA

【相关推荐】

1. PHP采集、模拟登陆论坛小程序_PHP教程

2. 微信小程序开发之登录流程制作说明

3. 小程序开发之表单验证实例教程

4. 详解优化你的微信小程序

以上是模拟登录教务系统计算GPA的小程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)