
net.wicp.tams.common.http.HttpCallSession Maven / Gradle / Ivy
The newest version!
package net.wicp.tams.common.http;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.FutureTask;
import org.apache.http.Header;
import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPatch;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.cookie.BasicClientCookie;
import com.fasterxml.jackson.databind.node.ObjectNode;
import net.wicp.tams.common.apiext.StringUtil;
public class HttpCallSession extends HttpCallAbs {
public HttpCallSession(CookieStore cookieStore) {
super(true, cookieStore);
}
public HttpCallSession() {
this(new BasicCookieStore());
}
public HttpCallSession(String domain, String cookiestr) {
super(true, HttpCallSession.initCookie(domain, cookiestr));
}
private static BasicCookieStore initCookie(String domain, String cookiestr) {
BasicCookieStore basicCookieStore = new BasicCookieStore();
// 初始化cookie
Map parseCookie = StringUtil.parseCookie(cookiestr);
for (String cookieKey : parseCookie.keySet()) {
BasicClientCookie cookie = new BasicClientCookie(cookieKey, parseCookie.get(cookieKey));
cookie.setDomain(domain);// "duckula-inner.abc.cn"
cookie.setPath("/");
basicCookieStore.addCookie(cookie);
}
return basicCookieStore;
}
public HttpResult doGet(String url) {
HttpRequestBase rq = new HttpGet(url);
HttpResult call = super.call(rq, null);
return call;
}
public HttpResult doPatch(String url) {
HttpRequestBase rq = new HttpPatch(url);
HttpResult call = super.call(rq, null);
return call;
}
public FutureTask doGetAsyn(String url) {
HttpRequestBase rq = new HttpGet(url);
return super.callAsyn(rq, null);
}
public HttpResult doPost(String url, ObjectNode param, Header... headers) {
HttpPost doPostCommon = HttpClient.doPostCommon(url, param == null ? null : param.toString(), headers);
HttpResult result = this.call(doPostCommon);
return result;
}
public FutureTask doPostAsyn(String url, ObjectNode param, Header... headers) {
HttpPost doPostCommon = HttpClient.doPostCommon(url, param.toString(), headers);
return this.callAsyn(doPostCommon, null);
}
public HttpResult doPostForm(String url, Map params, Header... headers) {
HttpPost doPostFormCommon = HttpClient.doPostFormCommon(url, params, headers);
HttpResult result = this.call(doPostFormCommon);
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy