linux下登录新版TUNet的bash脚本

今晚闲来无事,便写了一个登录新版TUNet的脚本,因为是一边翻书一边写的,所以非常挫,不过应该能用。谄笑

写这个最初目的是做嵌入式的大作业的,因为TUNet更新了,所以不能做以前的那个mytunet的交叉编译了。。。

脚本在Openwrt上测试通过。

把脚本中的your_username替换成info的用户名,your_password_md5替换成你的密码的md5,可以用echo -n your_password | md5sum来得到。另外脚本需要curl,ubuntu用户可以用sudo apt-get install curl来安装。

代码如下:

#!/bin/bash
# your info's username
uname=your_username
# your info's password's md5sum
pass=your_password_md5
####################################################
do_login() {
login_data='username='$uname'&password='$pass'&drop=0&type=1&n=100'
check_data='action=check_online'

# check whether already online
con=`curl -d $check_data -s http://net.tsinghua.edu.cn/cgi-bin/do_login`

if [ -z $con ]; then
# start login
res=`curl -d $login_data -s http://net.tsinghua.edu.cn/cgi-bin/do_login`

#handle result
pe=`echo $res | grep error`
if [ -z $pe ]; then
echo "Login Success!"	
else
echo $pe
exit 0
fi

# display flux infomation
flux=`echo $res | awk -F ',' '{print $3}'`
a=$(($flux/1000000000))
b=$((($flux%1000000000)/100000000))
c=$((($flux%100000000)/10000000))
echo "Used Flux: "$a"."$b$c"G."	

else
echo "Already Online!"

# display flux information and online time
flux=`echo $con | awk -F ',' '{print $3}'`
time=`echo $con | awk -F ',' '{print $5}'`
a=$(($flux/1000000000)) 
b=$((($flux%1000000000)/100000000))
c=$((($flux%100000000)/10000000))
h=$(($time/3600))
m=$(($(($time%3600))/60))
s=$(($(($time%3600))%60))
echo "Used Flux: "$a"."$b$c"G, Online Time: "$h":"$m":"$s"."
fi
}

do_logout() {
# start logout
res=`curl -s http://net.tsinghua.edu.cn/cgi-bin/do_logout`

#handle result
if [ "$res" == "logout_ok" ]; then
echo "Logout Success!"
elif [ "$res" == "not_online_error" ]; then
echo "You're not Online!"
else
echo "Operation Failed!"
fi
}

##################################################################################
if [ "$1" == "login" ]; then
do_login
elif [ "$1" == "logout" ]; then
do_logout
else
echo "Usage: "$0" {login|logout}"
fi


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值