北京工业大学校园网自动登录脚本-Python旧版

发布日期:分类:Web 相关 北京工业大学校园网自动登录脚本-Python旧版有 1 条评论
时效性提醒:本文首次编写发布于5 年前。

180424 update: 新版shell登录脚本,仅依赖curl,适用更广,WiFi/有线自动判断,不过大概率无法工作在bjut以外的学校

国内的大学校园网通常都会都会有一个烦人的计费系统,某211地下室也不例外,其使用了“城市热点”提供的Web认证页面,只有在Web页面登陆后才会有外网的访问权限。对于架设路由等设备自然是非常不方便的,于是便有了各种自动登录脚本。

对于本校的奇葩系统,单纯的ipv4认证或ipv6认证都是一句curl就能解决的,但IPV4与IPV6统一认证就会比较费事,于是乎我干脆直接用python3写了个爬虫脚本,完全模拟Web页面登陆的步骤。由于是使用正则表达式动态的获取参数(比如内网认证服务器的IP地址),有良好的兼容性,在其他使用了相同系统的高校中改改没准也能用。

项目地址:https://github.com/WuSiYu/BJUT-autologin-both46

以下Readme.md:

简介

北工大的校园网登录非常奇葩,如果你仅需要单一的ipv4登录或者ipv6登录,简单的使用curl发送一个POST请求就可以了,但这样无法同时使用ipv4和ipv6。若有此需求,只能通过IPV4与IPV6统一认证模式。在这个模式中,会先向跳转网址https://lgn6.bjut.edu.cn/V6?https://lgn.bjut.edu.cn发送POST请求,再向https://lgn.bjut.edu.cn发送第二个POST请求,跳转回来。过程中必须分别包含在页面中给出的v4和v6两个地址,才可正常的登录使用。

所以本Python脚本通过正则表达式获取两个页面中的地址,完全模拟使用浏览器IPV4与IPV6统一认证登录时的各步骤,以达到可以同时使用ipv4和ipv6的效果。

此脚本在本部宿舍有线网络上测试通过,暂不支持无线网络使用。

使用

Usage:  gateway-login.py <user> <password>     #登录网关
        gateway-login.py --status              #查看账号信息
        gateway-login.py --logout              #注销账号

如果报错无法登陆,请先尝试注销一遍。

作者:WuSiYu

学生,Web开发者,智能硬件&IOT爱好者

1条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注