路由器自动登陆校园网
LZ一般住校内宿舍,校园网接无线路由器后给笔记本/Android手机/ipad等设备。由于校园网访问校外网络需要使用校园网账号和密码登录,而且一定时间没有外网流量的话就会自动退出。因为2.0还小,丈母娘过来帮忙带。平时LZ和老婆上班后,丈母娘在闲暇之余会用手机上上微信,看看新闻什么的。但是因为校园网的登陆机制,而且丈母娘基本上只会用微信和zaker,不会用浏览器完成登陆,经常导致丈母娘上不了外网。
所以就琢磨着让路由器定时自动登陆和刷新,避免无法上网的问题。
LZ的路由器是Fast FW300r v2,刷了openwrt。
校园网的登陆是通过网页形式完成的,一开始想用php的curl来完成登陆,后来放了一遍google和baidu后,发现用php来跑太复杂和麻烦了。然后看到了这篇帖子 http://xiaoxia.org/2012/05/26/mini-router-auto-login-cmcc-2/ 是用shell来完成登陆的,主要是用wget的 --post-data模拟post操作,以实现登陆。
研究一番后发现,其实我的登陆可以更加简单,只需要post数据就行了,不用去判断是否已经登陆了。不过过程还是有点折腾。。
写了以下的脚本,保存为internet.sh,放在/bin/下面,然后chmod +x internet.sh赋予执行权限
username="username"
password="password"
login_url='url_for_login'
wget "${login_url}" --post-data="AuthenticateUser=${username}&AuthenticatePassword=${password}" --save-cookies=/tmp/cookies --keep-session-cookies -O /tmp/internet_login
执行之后,检查/tmp/internet_login的内容,居然还是登陆页面
测试修改过几次之后,仍然是同样的效果。就在电脑上开了apache,写了个php,用来接收post数据。
<?php
var_dump($_POST)
?>
结果居然是空的数组,这不科学啊。
折腾几次之后,还是空的数组,后来死马当活马医,更新wget吧
用opkg安装wget,然后再运行internet.sh,internet_login已经是登陆后的页面内容,Good,脚本搞定。
然后就修改crontab,增加自动运行脚本。
至此,问题解决了。。。 其他的网络环境,如果是网页登陆验证的话,也可以参考上述的方法来实现自动登陆。 h3c inode 5.1登陆,怎么解? Posted by turtlerock on 2014-7-3 16:37 http://www.ibmnb.com/images/common/back.gif
h3c inode 5.1登陆,怎么解?
是网页登陆的吗?
回复 #4 kfg 的帖子
不是,是客户端登陆。。。 Posted by turtlerock on 2014-7-3 16:45 http://www.ibmnb.com/images/common/back.gif不是,是客户端登陆。。。
我这个方法只适用于网页登陆,或者服务器端是web server的形式的用户验证,其他的没有办法。 高大上,不懂的路过。。。 高级电工啊
页:
[1]