The iMC Portal login tool of GDPU
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
build.sh
iMCLogin.go

README.md

iMC-Portal-Login

适用于 GDPU 的 iMC Portal 无线网络登录工具,

前言说明

学校之前开通了 iMC Portal 无线网络, 只是每次都要开启浏览器才可以登录, 并且需要一直开着一个标签, 这是件很麻烦的事情, 而且最近 (2018-07-11) 发现会出现每隔 15 分钟就断线一次的问题, 所以抓包来模拟登录, 并且在断线之后自动重连

程序用 Golang 来编码所以可以方便的打包成二进制文件给各个平台使用

更多关于爬虫这块的详情可以查看 : iMCPortal-连接过程解析及Golang实现

使用教程

编译

添加了相关依赖之后

go build iMCLogin.go -o iMCLogin

或者直接

sh build.sh

启动

./iMCLogin -u 学号 -p 用户密码

参数列表

-p string
    校园网密码 (default "null")
-u string
    学生学号 (default "null")
-d
    开启 DEBUG 日志打印
-o 
    强制退出之前登录的帐号, 确保帐号已下线, 也要求输入正确的用户名和密码参数

其他说明

关于强制退出

如果在使用的过程中, 用户没有使用 exit 命令退出程序, 将导致帐号依然在线, 也无法在其他校园网终端登录帐号, 所以 iMCLogin 增加了一个强制退出帐号功能, 方便用户在程序不小心退出之后可以确保帐号已下线

调用该功能的时候, 将首先实行一次登录, 如果之前的帐号仍然在线, 那么此次登录将无法成功, 而服务器返回 json 当中将包含

"portServErrorCodeDesc":"设备拒绝请求"

此时之前的帐号就已经下线了, 有点类被强行挤下线

而如果此次登录可以成功的话, 那么就正常调用 logout() 方法, 向下线接口 POST 相应数据

如此一来就能确保用户确实下线了