东北大学校园网登录登出shell脚本

校园网在windows和手机上都有客户端了,不用很麻烦的每天打开电脑后必须要打开网页登录。但是在linux和mac上还没有同学做这个应用,所以写了个脚本可以凑合先用着。

###################################################################
# author: wangbin(gkwangbin@126.com)                              #
# date: 2017-06-02                                                #
###################################################################
#!/bin/bash

#'wlp2s0'是我自己的无线网卡,可以使用ifconfig查看连接信息后替换成自己的<-_->
ip=`ifconfig wlp2s0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "`
#echo $ip
option="${1}"
username=账号
passwd=密码

# --login  登录
# --logoff 注销
# --logout 断开
# --info   信息

case $option in
    --login) curl -s -H "ipgw.neu.edu.cn" --data "action=login&ac_id=1&user_ip=&nas_ip=&user_mac=&url=/include/auth_action.php&username=${username}&password=${passwd}&save_me=0" 'https://ipgw.neu.edu.cn/srun_portal_pc.php?url=&ac_id=1' | grep -o  "网络已连接"
    ;;
    --logoff) curl -s -H "ipgw.neu.edu.cn" --data "action=auto_logout&user_ip=${ip}" 'https://ipgw.neu.edu.cn/srun_portal_pc.php?url=&ac_id=1' | grep -o -E "网络已断开|您似乎未曾连接到网络"
    ;;
    --logout) curl -s -H "ipgw.neu.edu.cn" --data "action=logout&username=${username}&password=${passwd}&ajax=1" 'https://ipgw.neu.edu.cn/include/auth_action.php'
    echo
    ;;
    --info) curl -s -H "ipgw.neu.edu.cn" --data "action=get_online_info" 'https://ipgw.neu.edu.cn/include/auth_action.php'
    echo 
    ;;
esac

这里写图片描述

之前的连接信息显示的不是很明确,做了一下更新:

###################################################################
# author: wangbin(gkwangbin@126.com)                              #
# date: 2017-06-02                                                #
###################################################################
#!/bin/bash

ip=`ifconfig wlp2s0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "`
#echo $ip
option="${1}"
username=账号
passwd=密码

echo "账户名称: ${username}";
# --login  登录
# --logoff 注销
# --logout 断开
# --info   信息

case $option in
    --login) curl -s -H "ipgw.neu.edu.cn" --data "action=login&ac_id=1&user_ip=&nas_ip=&user_mac=&url=/include/auth_action.php&username=${username}&password=${passwd}&save_me=0" 'https://ipgw.neu.edu.cn/srun_portal_pc.php?url=&ac_id=1' | grep -o -E "已经在线了|网络已连接"
    ;;
    --logoff) curl -s -H "ipgw.neu.edu.cn" --data "action=auto_logout&user_ip=${ip}" 'https://ipgw.neu.edu.cn/srun_portal_pc.php?url=&ac_id=1' | grep -o -E "网络已断开|您似乎未曾连接到网络"
        ;;
    --logout) curl -s -H "ipgw.neu.edu.cn" --data "action=logout&username=${username}&password=${passwd}&ajax=1" 'https://ipgw.neu.edu.cn/include/auth_action.php'
        echo
        ;;
    --info) curl -s -H "ipgw.neu.edu.cn" --data "action=get_online_info" 'https://ipgw.neu.edu.cn/include/auth_action.php' | awk 'BEGIN{FS=","} {if($1=="not_online"){status="not online" } else {status="online"; total=$1/1073741824; time=$2/3600}} END{printf "账号状态: %-s\n", status; printf "已用流量: %-8.2f GB\n", total; printf "已用时长: %-8.2f hours\n", time;printf "账户余额: %-8s Yuan\n", $3; printf  "ip  地址: %-s", $6;}'
        echo 
        ;;
    --help) echo "--login 登录"
        echo "--logoff 注销"
        echo "--logout 全部断开"
        echo "--info 上网信息"
        ;;
    *) echo "please input operation command, command --help"
    ;;
esac

显示信息格式:
这里写图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,针对您的问题,我可以给您提供一些基本的思路和代码示例。 首先,您需要在Spring Boot项目中集成MyBatis,可以通过引入相应的依赖来实现。然后,您需要定义一个用户实体类,并在MyBatis中定义相应的Mapper接口和SQL语句,以实现用户的登录登出功能。 以下是一个示例用户实体类的代码: ```java public class User { private int id; private String username; private String password; // 省略getter和setter方法 } ``` 接下来是一个示例Mapper接口的代码: ```java @Mapper public interface UserMapper { @Select("SELECT * FROM user WHERE username = #{username} AND password = #{password}") User login(@Param("username") String username, @Param("password") String password); @Update("UPDATE user SET token = NULL WHERE id = #{id}") void logout(@Param("id") int id); } ``` 上面的代码中,login()方法用于实现用户登录功能,通过传入用户名和密码来查询数据库中是否存在该用户。logout()方法用于实现用户登出功能,将用户的token字段设为NULL。 最后,您可以在Controller层中定义相应的请求处理方法来调用Mapper接口中的方法,以实现用户登录登出功能。以下是一个示例Controller层的代码: ```java @RestController public class UserController { @Autowired private UserMapper userMapper; @PostMapping("/login") public String login(@RequestParam String username, @RequestParam String password) { User user = userMapper.login(username, password); if (user != null) { // 登录成功,生成token并返回 String token = UUID.randomUUID().toString(); user.setToken(token); // 将token保存到数据库中 userMapper.updateToken(user.getId(), token); return token; } else { // 登录失败,返回错误提示 return "用户名或密码错误"; } } @PostMapping("/logout") public String logout(@RequestParam int id) { userMapper.logout(id); return "登出成功"; } } ``` 上面的代码中,login()方法用于处理登录请求,如果登录成功,生成一个随机的token并保存到数据库中,然后将token返回给客户端。logout()方法用于处理登出请求,将用户的token字段设为NULL。 以上就是一个简单的Spring Boot + MyBatis实现用户登录登出功能的示例,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值