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

com.dounine.clouddisk360.parser.deserializer.passport.PassportResponseHandle Maven / Gradle / Ivy

package com.dounine.clouddisk360.parser.deserializer.passport;

import com.dounine.clouddisk360.parser.PassportParser;
import com.dounine.clouddisk360.parser.deserializer.BaseResponseHandle;
import com.dounine.clouddisk360.parser.deserializer.login.LoginConst;
import com.dounine.clouddisk360.parser.deserializer.login.LoginUserToken;
import com.dounine.clouddisk360.store.BasePathCommon;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;

import java.io.*;

public class PassportResponseHandle extends BaseResponseHandle
		implements ResponseHandler {

	public PassportResponseHandle(PassportParser parse) {
		super(parse);
	}

	@Override
	public Passport handleResponse(HttpResponse response) throws ClientProtocolException, IOException {
		executeBefore(response);
		saveCookie();
		executeAfter(response);
		Passport passport = new Passport();
		passport.setCaptchaUrl(BasePathCommon.BASE_PATH + parse.getLoginUserToken().getAccount()+"/captcha.jpg");
		return passport;
	}

	@Override
	public void saveCookie() {
		parse.getCookieStoreUT().writeCookieStoreToDisk(parse.getHttpClientContext().getCookieStore(), new String[] { LoginConst.QUCRYPTCODE_NAME });
	}

	@Override
	public void executeBefore(HttpResponse response) {
		HttpEntity entity = response.getEntity();
		InputStream is = null;
		try {
			is = entity.getContent();
		} catch (UnsupportedOperationException | IOException e2) {
			e2.printStackTrace();
		}
		try {
			LoginUserToken loginUser = parse.getHttpClientContext().getUserToken(LoginUserToken.class);
			File file = new File(BasePathCommon.BASE_PATH + loginUser.getAccount()+"/captcha.jpg");
			if (!file.exists()) {
				file.getParentFile().mkdirs();
				file.createNewFile();
			}
			FileUtils.copyInputStreamToFile(is,file);
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy