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 #注销账号
如果报错无法登陆,请先尝试注销一遍。
1条评论