docs: async function tryLogin (netid, password, axios) {
    let _redirect = _.bind(redirect, null, _, axios);
    // 访问NetID登录页面获取cookie
    let res = await axios.get('https://cas.sysu.edu.cn/cas/login', {
      params: {
        service: 'http://uems.sysu.edu.cn/jwxt/casLogin'
      }
    });
    // 获取jssessionid
    let jsessionid = getJsessionId(res.headers['set-cookie']);
    // 获取post参数
    let {lt, execution} = getPostArgs(res.data);
    // 登录NetID
    let login = axios.post(`https://cas.sysu.edu.cn/cas/login`,
      qs.stringify({
        username: netid,
        password: password,
        lt,
        execution,
        _eventId: 'submit',
        submit: '登录'
      }), {
        params: {
          service: 'http://uems.sysu.edu.cn/elect/casLogin'
        },
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
      });
    let location;
    // 登录后，获取ticket
    location = await _redirect(login);
    // 带着ticket转跳到教务系统
    location = await _redirect(location);
    // 跳转教务系统，获得学号密码
    location = await _redirect(location);
    // 使用学号密码进行unieap认证
    location = await _redirect(axios.get(location, {
      headers: {
        'Host': 'uems.sysu.edu.cn'
      }
    }));
    await axios.get(location);
  
    return jsessionid;
  }