curl登录东大校园网

curl介绍

注意,本文提供的操作网址只有东大校园网才能访问!

curl命令是一个功能强大的网络工具,在ubuntuos x等的命令行里起着重要作用,大多数系统已内置curl。它能够通过httpftp等方式下载文件,也能够上传文件。

其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。

类似的工具还有wget

这里我要讲的是linux(ubuntu)命令行内的关于curl命令的具体的一个应用。

应用背景

说起来真是羞愧,如今大三才想起这个问题:ubuntu纯命令行模式下如何登录校园网网关?

再想到这个问题的时候,自然而然就像到了利用xxx提交html表单。于是上网搜索命令行具体用什么东西来实现这种操作。

很轻易的就搜到了curlwget,当然还有其它一些方法:如某贴吧说用xxx软件,某论坛说用yyy软件,不过具体查了一下后发现这些软件或多或少都有bug,而且不助于了解bash,遂弃之。

curl基础命令

完成本次操作仅需如下基础命令,具体参考席飞剑的blog

curl <url>
curl -d "p1=value1&p2=value2[&...]" <url>
curl -A "Mozilla/4.0"

具体解释如下:

    1. 第一行命令:若有网,则返回所写的url的html源码,否则返回Empty reply from server。如下:


    1. 第二行命令:当html表单提交方式为post时,使用这条命令模拟提交表单,具体描述参见具体实现
    1. 第三条命令:模拟浏览器标识,防止访问被拒。

具体实现

本校校园网网址为:https://ipgw.neu.edu.cn

于是第一次尝试:

curl https://ipgw.neu.edu.cn,不幸的是,返回源码为302 found,继续上网查,发现问题出在url重定向,有解决方法是直接代码解决,本人参考了另一种解决方式:利用chrome的控制台找到了实际url(后来发现浏览器访问后直接显示在url里了,囧)

第二次尝试:

curl https://ipgw.neu.edu.cn/srun_portal_pc.php?ac_id=1,终于返回正常登录页面的源码了!接下来就是模拟html提交表单了,首先先看一下网页源代码:


注意画线地方,就是表单提交的东西,我们只要以post的方式提交表单就好了:

curl -d "action=login&ac_id=1&username=20154445&password=44554455" http://ipgw.neu.edu.cn/srun_portal_pc.php?ac_id=1

最后加上浏览器标识就完美了:

curl -A "Mozilla/4.0" -d "action=login&ac_id=1&username=20154445&password=44554455" http://ipgw.neu.edu.cn/srun_portal_pc.php?ac_id=1

同理,分析网关网页注销动作,得到命令如下:

curl -A "Mozilla/4.0" -d "action=auto_logout&user_ip=202.118.46.109&username=20154445" http://ipgw.neu.edu.cn/srun_portal_pc.php?ac_id=1&

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦