校园网登录认证脚本


详细内容
    #!/bin/bash
    set -e
    action=$1

    #确定脚本所在目录
    workdir=$(cd `dirname $0`; pwd)

    #登录
    login() {
    read -p "UserName:" login_username
    read -s -p "PassWord:" login_password
    echo
    read -n1 -p "Set up automatic login?[y/n]" auto_land
    echo
    if [ $auto_land == "y" ]
    then
        auto_land=true
    else
        auto_land=false
    fi

    #构建Query_String_Parameters
    herf=`curl -sl http://1.1.1.1/`
    herf=${herf#*\?}
    herf=${herf%\'*}
    Query_String_Parameters="method=login&param=true&$herf"

    #构建登录url
    login_url="http://202.115.160.114/eportal/userV2.do?$Query_String_Parameters"

    #填充表单
    Form_Data="is_auto_land=$auto_land&usernameHidden=$login_username&username_tip=Username&username=$login_username&strTypeAu=&uuidQrCode=&authorMode=&pwd_tip=Password&pwd=$login_password"

    #curl模拟登录
    curl -v -D $workdir/Response_Header -d $Form_Data $login_url
    }

    #下线
    logout(){
    userIndex=`cat $workdir/Response_Header | grep Location | awk 'BEGIN{FS="&"}{print $2}' | awk 'BEGIN{FS="="}{print $2}'`
    logout_url="http://202.115.160.114/eportal/userV2.do?method=logout&userIndex=$userIndex"
    curl -I $logout_url
    }

    case $action in
    login)
            login;;
    logout)
            logout;;
    *)
            echo "Parameter Error! Input parameter [login/logout]."
    esac

用法

在执行脚本时,脚本文件后接上login(登录)、logout(下线)参数即可。登录时需要输入认证用户和密码,是否使用自动等功能。

results matching ""

    No results matching ""