# 协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
# 作者(Author):Astrophel
# 链接(URL):https://www.astrophel.top/?p=507
# 来源(Source):Astrophel

原文地址ヾ(❀╹◡╹)ノ~:锐捷校园网自动登录脚本 – Astrophelhttps://www.astrophel.top/?p=507

目录

起因

分析

实现

抓包

python代码

优化

更多内容


起因

由于校园网采用网页端认证方式,自从宿舍里放上树莓派,每天都需要手动连接键盘鼠标显示器来让pi登陆。为了更方便的摸鱼,决定写一个自动登录校园网的脚本,每天在树莓派上定时运行。

分析

校园网登陆采用锐捷的解决方案,应该是国内大学使用率比较高的一个系统。首先考虑使用python Selenium写一个自动化脚本,几经尝试,总是无法成功提交表单。同时考虑selenium依赖于浏览器驱动,不具有普适性,所以放弃这一方法。

在使用Chrome的网络调试工具对登陆过程进行抓包后,发现该系统将用户输入在前端输入的表单POST到后端,而且没有加密(?所以决定用python requests库模拟该过程。

第一次尝试,将请求体内的载荷写成一个字典data,使用requests.post方法提交到抓包得到的login URL上,结果失败。分析是因为没有携带请求头,导致认证服务器发现端倪。

第二次尝试,将请求头写成一个字典,与data一并提交,依旧失败。检查后发现操作失误导致两次登陆使用了不同的Referer,认证服务器识别到这一点,返回失败值。 最后一次,纠正了headers和data两个字典中不匹配的内容,再次post,返回success。

实现

抓包

使用Chrome抓取登陆按钮点击后日志中的/InterFace.do?method=login内容,查看URL,请求头和请求体(载荷)

python代码

import requestsurl='http://www.example.com/eportal/InterFace.do?method=login' #在此处替换抓包得到的登陆报文URL#<------将抓包得到的headers内容填写到键值对中------>
headers={'Accept': '*/*','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36','Cache-Control':'no-cache','Connection':'keep-alive','Content-Length':'', #填写抓包得到的值'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8','Cookie': '', #填写抓包得到的cookie'Host':'', #填写抓包得到的host'Origin':'', #填写抓包得到的origin'Pragma':'no-cache','Referer':'' #填写抓包得到的referer
}
#<------headers结束------>#<------将抓包得到的载荷内容填写到键值对中------>
data={'userId':'', #填写抓包得到的userId'password':'', #填写抓包得到的password'service':'', #填写抓包得到的service'queryString':'','operatorPwd':'','operatorUserId':'','validcode':'','passwordEncrypt':'false' #填写抓包得到的passwordEncrypt
}
#<------载荷结束------>respond = requests.post(url=url, data=data, headers=headers) #调用requests的post方法请求URL
#输出必要的信息,响应正文中出现success代表登陆成功
print(data)
print('状态码:', respond.status_code)
print('响应头信息:', respond.headers)
print('响应正文:', respond.text)

使用抓包内容替代上述代码中的内容,如有冲突以抓包结果为准。

优化

之后就是让代码在Linux里开机自动执行,不想写具体方法了(摆!

以上思路适用于iOS和macOS的快捷指令,不想写具体方法了(摆!

以上

更多内容

Astrophel - 我的学习知识记录https://www.astrophel.top

锐捷校园网自动登录脚本相关推荐

  1. 锐捷 linux 网卡信息失败,锐捷校园网linux有线认证图形客户端更新,解决了deepin下无反应问题...

    如果你在深度deepin操作系统下出现无反应的问题,请使用最新版本的锐捷校园网linux有线认证图形客户端,当前已提供rj-aux-linux-x64-v2.4-beta.deb等包下载,除此之外,还 ...

  2. 解决锐捷校园网环境下VMware虚拟机无法上网问题

    解决锐捷校园网环境下VMware虚拟机无法上网问题 1.介绍: 在介绍笨方法之前首先得说一下VMware虚拟机无法上网的原因,虚拟机要想要上网主机里的VMnetDHCP和VMware NAT Serv ...

  3. 锐捷文件描述错误linux,Kubuntu 14.10 MentoHUST 配置libpcap 锐捷校园网登录总结

    KUbuntu 14.10 mentohust 配置libpcap 锐捷校园网登录总结 首先需要说明,mentohust 和锐捷一样,都依赖 libpcap 这个函数库. 而配置libpcap 前,需 ...

  4. 西北大学校园网自动登录脚本-for Linux

    一 学校的校园网计费系统用的是Drcom的,其它学校的自行修改–post-data内容,应该可行 二 Windows下,安装wget,也可以从命令行输入wget那一行内容,实现登录认证,最近不怎么用w ...

  5. 我的MOTO defy用USB连上电脑时,电脑的锐捷校园网就断了,解决方法如下

    原因是defy链接电脑后由于defy带有连电脑上网的功能,电脑就自动转为通过defy上网,从而有了一个新的ip地址,与原来的那个冲突了,进入网络设置里把名字是motorola····的那个链接禁用了就 ...

  6. 北京邮电大学校园网自动登录脚本 Ubuntu18.04 Python systemd 开机自启

    脚本讲解 这把要用到 logging 啊,简单讲一下. 这个模块主要用于输出运行日志,可以设置输出日志路径.输出日志等级.日志回滚文件等.相比而言 print 函数跟个傻逼一样只能输出到标准输出.所以 ...

  7. 基于python的校园网自动登录脚本!

    起因:每天开机就要登录一遍校园网,虽然程序方面很简单,但是作为一名当代大学生就应该学会如何更加高效的偷懒. 背景:重庆某大学学生,使用的中国电信提供的校园网(沙冰电信死坑还贼贵).谷歌浏览器(chro ...

  8. 锐捷校园网登录---Linux

    下载登录软件 使用终端打开 sudo ./rjsupplicant.sh -u 用户名 -p 密码 -d 1   登录的命令 需切换管理员权限才可以

  9. linux下锐捷拨号的问题

    系统:ubuntu 8.10 使用锐捷官方提供的linux版拨号软件无法登陆,提示版本不对 官方的linux版xrgsu发行比较早,按照锐捷常换加密协议的臭毛病应该已经不能用了,有没有什么办法可以使l ...

最新文章

  1. 运维专家:我在大数据项目中踩过的那些坑
  2. FreeMarker 集合遍历
  3. linux驱动文件操作简单介绍
  4. 【Python算法】分类与预测——logistic回归分析
  5. matlab+adst,SPC572L64E3 - 用于汽车动力系统应用的32位Power Architecture MCU - STMicroelectronics...
  6. Python机器学习:PCA与梯度上升:007试手MNIST数据集
  7. sql中变量用法_SQL变量:基础和用法
  8. 《程序员自我修养》阅读笔记-可执行文件装载与进程
  9. 第二季-专题13-NandFlash变硬盘
  10. mybatis+oracle实现简单的模糊查询
  11. MMKV 原理以及使用
  12. 冈萨雷斯数字图像处理开篇
  13. 模拟电子电路技术基础 | 常用半导体器件
  14. Mysql支持的数据类型
  15. 期货开户公司受到证监会的监管
  16. 【安防监控】如何利用无人机技术严防夏天溺水?
  17. 浏览器缓存——强缓存、协商缓存
  18. 删除字符串某一指定子字符串
  19. 超越成功:经理人需提升的十二项自我管理能力
  20. sql根据指定符号拆分字符串表函数

热门文章

  1. 弗吉尼亚理工大学计算机科学,弗吉尼亚理工大学计算机科学硕士排名第46(2020年TFE Times排名)...
  2. spring cloud读取配置文件
  3. CDA学习之Python - 面向对象编程
  4. 51单片机上连YL69土壤湿度传感器获取的数据在LCD上显示出来
  5. jacob解决freemaker下载的word文档手机无法打开问题
  6. 计算机识别技术检测交通标志,基于计算机视觉的交通标志检测与识别算法研究...
  7. 安卓手机客户端与服务器纯纯socket实现文件下载+断点续传
  8. 读书笔记:多智能体机器学习(二)
  9. 毫米波频段射频器件的主要技术工艺趋势
  10. 黑马程序员——构造器和方法