All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dounine.clouddisk360.parser.PassportParser Maven / Gradle / Ivy

package com.dounine.clouddisk360.parser;

import com.dounine.clouddisk360.annotation.Parse;
import com.dounine.clouddisk360.captthread.CaptThread;
import com.dounine.clouddisk360.parser.deserializer.captcha.Captcha;
import com.dounine.clouddisk360.parser.deserializer.login.LoginUserToken;
import com.dounine.clouddisk360.parser.deserializer.passport.*;
import com.dounine.clouddisk360.parser.deserializer.user.check.UserCheckLogin;
import org.apache.http.client.methods.HttpGet;

@Parse("验证码显示")
public class PassportParser extends
		BaseParser {

	public PassportParser() {
		super();
	}

	public PassportParser(LoginUserToken loginUser) {
		super(loginUser);
	}

	@Override
	public HttpGet initRequest(PassportParameter passportParameter) {
		return new HttpGet(parameter.getUri());
	}

	@Override
	public Passport parse(PassportParameter parameter) {
		if(parameter.isManual()){//手动检查
			UserCheckLoginParser userCheckLoginParser = new UserCheckLoginParser(loginUserToken);
			UserCheckLogin userCheckLogin = userCheckLoginParser.parse();
			if(userCheckLogin.getErrno()!=0){//没有登录可获取验证码
				CaptchaParser captchaParser = new CaptchaParser();
				captchaParser.dataSmooth(userCheckLoginParser);//数据平滑
				Captcha captcha = captchaParser.parse();
				parameter.setUri(captcha.getCaptchaUrl());
				if(captcha.getCaptchaFlag()){//需要验码
					Passport passport = super.parse(parameter);
					CaptThread.push_passport(loginUserToken.getAccount(),this);//手动更新验证码
					return passport;
				}
			}
		}
		return super.parse(parameter);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy