コード例 #1
0
  private AccountInfo checkIn(AccountInfo acc) {
    // TODO Auto-generated method stub
    if (client == null) {
      acc.state = UNKNOWN_FAIL;
      return acc;
    }
    ArrayList<BasicNameValuePair> valueList = new ArrayList<BasicNameValuePair>();
    try {
      UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(valueList, "UTF-8");
      HttpPost post = new HttpPost("http://www.xiami.com/task/signin");
      post.setHeader("Referer", "http://www.xiami.com/");
      post.setEntity(urlEncodedFormEntity);
      HttpResponse response = client.execute(post);
      if (response.getStatusLine().getStatusCode() == 200) {
        acc = isCheck(acc);
        if (acc.day > 0) acc.state = SUCCESS;
        else acc.state = CHECK_FAIL;
      } else {
        acc.state = SERVER_FAIL;
      }
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (ClientProtocolException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    return acc;
  }
コード例 #2
0
  private AccountInfo loginIn(AccountInfo acc) {
    // TODO Auto-generated method stub
    if (client == null) {
      acc.state = UNKNOWN_FAIL;
      return acc;
    }
    ArrayList<BasicNameValuePair> valueList = new ArrayList<BasicNameValuePair>();
    BasicNameValuePair value = null;
    value = new BasicNameValuePair("email", acc.name);
    valueList.add(value);
    value = new BasicNameValuePair("password", acc.pass);
    valueList.add(value);
    value = new BasicNameValuePair("LoginButton", "登录");
    valueList.add(value);

    try {
      UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(valueList, "UTF-8");
      HttpPost post = new HttpPost("http://www.xiami.com/web/login");
      post.setHeader("Referer", "http://www.xiami.com/web/login");
      post.setEntity(urlEncodedFormEntity);
      HttpResponse response = client.execute(post);

      if (response.getStatusLine().getStatusCode() == 200) {
        String res = EntityUtils.toString(response.getEntity(), "UTF-8");
        if (res.contains("会员登录")) {
          if (res.contains("请输入验证码")) {
            acc.state = LOGIN_VALIDATE_FAIL;
          } else {
            acc.state = LOGIN_FAIL;
          }
        } else if (res.contains("快捷操作")) {
          acc = isCheck(acc);
          if (acc.day > 0) acc.state = IS_CHECKED;
          else acc.state = SUCCESS;
        } else {
          acc.state = SERVER_FAIL;
        }
      } else {
        acc.state = SERVER_FAIL;
      }
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (ClientProtocolException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    return acc;
  }
コード例 #3
0
  public AccountInfo check(AccountInfo acc) {
    // TODO Auto-generated method stub
    if (!NetCheck.isConnected(context)) {
      acc.state = NET_FAIL;
      acc.tip = state2Tip(acc.state, "");
      log(acc.tip);
      return acc;
    }
    log(context.getString(R.string.logStart));
    initClient();
    D.e(">>>>check start , name : " + acc.name);
    log(context.getString(R.string.logName) + acc.name);
    log(context.getString(R.string.logLogining));
    acc = loginIn(acc);
    if (acc.state == SUCCESS) { // 登录成功,未签到
      log(context.getString(R.string.logLoginSuccess));
      // 签到
      log(context.getString(R.string.logChecking));
      acc = checkIn(acc);
      if (acc.state == SUCCESS) { // 签到成功
        acc.lastCheck = System.currentTimeMillis();
        log(context.getString(R.string.logCheckinSuccess));
        log(context.getString(R.string.logTime) + DateHelper.longToString(acc.lastCheck));
      } else { // 签到失败
        acc.tip = state2Tip(acc.state, "");
        // log(context.getString(R.string.logCheckinFail));
        log(acc.tip);
      }
    } else if (acc.state == IS_CHECKED) { // 登录成功,已签到
      log(context.getString(R.string.logLoginSuccess));
      log(context.getString(R.string.logCheckined));
      acc.lastCheck = System.currentTimeMillis();
      log(context.getString(R.string.logCheckinSuccess));
      log(context.getString(R.string.logTime) + DateHelper.longToString(acc.lastCheck));
    } else { // 未知错误
      acc.tip = state2Tip(acc.state, "");
      // log(context.getString(R.string.logCheckinFail));
      log(acc.tip);
    }

    shutdown();
    D.e(">>>>check end , state : " + acc.state + " , tip : " + acc.tip);
    log(context.getString(R.string.logEnd));
    return acc;
  }