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; }
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; }
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; }