com.dounine.clouddisk360.parser.DifferPressParser Maven / Gradle / Ivy
package com.dounine.clouddisk360.parser;
import java.io.IOException;
import java.net.URISyntaxException;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.dounine.clouddisk360.annotation.Parse;
import com.dounine.clouddisk360.parser.deserializer.captcha.DifferPressParameter;
import com.dounine.clouddisk360.parser.deserializer.differpre.DifferPress;
import com.dounine.clouddisk360.parser.deserializer.differpre.DifferPressConst;
import com.dounine.clouddisk360.parser.deserializer.differpre.DifferPressRequestInterceptor;
import com.dounine.clouddisk360.parser.deserializer.differpre.DifferPressResponseHandle;
import com.dounine.clouddisk360.parser.deserializer.login.LoginUserToken;
import com.dounine.clouddisk360.pool.PoolingHttpClientConnection;
import com.dounine.clouddisk360.util.TimeUtil;
@Parse("分压重定向域名")
public class DifferPressParser extends
BaseParser {
public DifferPressParser(){}
public DifferPressParser(LoginUserToken loginUser) {
super(loginUser);
}
private static final Logger LOGGER = LoggerFactory.getLogger(DifferPressParser.class);
@Override
public HttpGet initRequest(DifferPressParameter parameter) {
try {
URIBuilder uri = new URIBuilder(CONST.URI_PATH);
uri.addParameter(CONST.ST_KEY, TimeUtil.getTimeLenth(10));
uri.addParameter(CONST.SID_KEY, StringUtils.EMPTY);
uri.addParameter(CONST.KEEPALIVE_KEY, CONST.KEEPALIVE_VAL);
HttpGet request = new HttpGet(uri.build());
return request;
} catch (URISyntaxException e) {
LOGGER.error("生成分压请求对象失败");
}
return null;
}
public DifferPress execute(HttpGet request) {
super.httpClient = HttpClients.custom().setConnectionManager(PoolingHttpClientConnection.getInstalce())
.addInterceptorLast(new DifferPressRequestInterceptor()).setDefaultCookieStore(readCookieStoreDisk())
.build();
RequestConfig differPressConfig = RequestConfig.copy(cookieRequestConfig()).setCookieSpec(CookieSpecs.NETSCAPE)
.setRedirectsEnabled(false).build();// use my config
request.setConfig(differPressConfig);
try {
return super.httpClient.execute(request, new DifferPressResponseHandle(this), super.httpClientContext);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy