//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package com.thc.rcm.common.service;import com.alibaba.druid.support.json.JSONUtils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import com.alibaba.fastjson.parser.Feature;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.thc.rcm.common.dto.ThcResponse;import com.thc.rcm.common.interceptor.SessionUtil;import com.thc.rcm.common.utils.DateUtils;import com.thc.rcm.common.utils.JsonUtil;import com.thc.rcm.common.utils.LogUtils;import com.thc.rcm.common.utils.JsonUtil.JsonObject;import java.io.IOException;import java.net.URISyntaxException;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;import org.apache.http.NameValuePair;import org.apache.http.client.CookieStore;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.utils.URIBuilder;import org.apache.http.cookie.Cookie;import org.apache.http.entity.ContentType;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.BasicCookieStore;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.bytesoft.bytetcc.supports.radicate.rpc.RpcResult;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Lazy;import org.springframework.stereotype.Service;@Service@Lazy(false)public class HttpService { ???private static final Gson gson = (new GsonBuilder()).setDateFormat("yyyy-MM-dd HH:mm:ss").create(); ???@Autowired ???private CloseableHttpClient httpClient; ???@Autowired ???private RequestConfig requestConfig; ???public HttpService() { ???} ???public String doGet(String url) throws IOException { ???????CloseableHttpResponse response = null; ???????HttpGet httpGet = new HttpGet(url); ???????httpGet.setConfig(this.requestConfig); ???????httpGet.addHeader("x-access-token", SessionUtil.getToken()); ???????try { ???????????response = this.httpClient.execute(httpGet); ???????????if (response.getStatusLine().getStatusCode() == 200) { ???????????????String var4 = EntityUtils.toString(response.getEntity(), "UTF-8"); ???????????????return var4; ???????????} ???????????LogUtils.printfCallback().info("url>" + url + "return" + response); ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????return null; ???} ???public String doGet(String url, String token) throws IOException { ???????CloseableHttpResponse response = null; ???????HttpGet httpGet = new HttpGet(url); ???????httpGet.setConfig(this.requestConfig); ???????httpGet.addHeader("x-access-token", token); ???????try { ???????????response = this.httpClient.execute(httpGet); ???????????if (response.getStatusLine().getStatusCode() == 200) { ???????????????String var5 = EntityUtils.toString(response.getEntity(), "UTF-8"); ???????????????return var5; ???????????} ???????????LogUtils.printfCallback().info("url>" + url + "return" + response); ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????return null; ???} ???public JsonObject getJson(String url, String token) throws IOException { ???????String s = this.doGet(url, token); ???????return JsonUtil.stringTojson(s); ???} ???public JsonObject getJson(String url) throws IOException { ???????String s = this.doGet(url); ???????return JsonUtil.stringTojson(s); ???} ???public JsonObject getJson(String url, Map<String, Object> paramMap) throws IOException { ???????String s = null; ???????try { ???????????s = this.doGet(url, paramMap); ???????} catch (URISyntaxException var5) { ???????????var5.printStackTrace(); ???????} ???????return JsonUtil.stringTojson(s); ???} ???public String doGet(String url, Map<String, Object> paramMap) throws IOException, URISyntaxException { ???????URIBuilder builder = new URIBuilder(url); ???????Iterator var4 = paramMap.keySet().iterator(); ???????while(var4.hasNext()) { ???????????String s = (String)var4.next(); ???????????builder.addParameter(s, paramMap.get(s).toString()); ???????} ???????return this.doGet(builder.build().toString()); ???} ???public JsonObject getKdSession(String url, String login) throws IOException { ???????HttpPost httpPost = new HttpPost(url); ???????httpPost.setConfig(this.requestConfig); ???????String sessionid = null; ???????if (login != null) { ???????????StringEntity stringEntity = new StringEntity(login, ContentType.APPLICATION_JSON); ???????????httpPost.setEntity(stringEntity); ???????} ???????CloseableHttpResponse response = null; ???????HttpResult res; ???????try { ???????????CookieStore cookieStore = new BasicCookieStore(); ???????????this.httpClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build(); ???????????response = this.httpClient.execute(httpPost); ???????????List<Cookie> cs = cookieStore.getCookies(); ???????????int i = 0; ???????????while(true) { ???????????????if (i < cs.size()) { ???????????????????if (!((Cookie)cs.get(i)).getName().equals("kdservice-sessionid")) { ???????????????????????++i; ???????????????????????continue; ???????????????????} ???????????????????sessionid = ((Cookie)cs.get(i)).getValue(); ???????????????} ???????????????res = new HttpResult(response.getStatusLine().getStatusCode(), EntityUtils.toString(response.getEntity(), "UTF-8")); ???????????????break; ???????????} ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????JsonObject resJson = JsonUtil.stringTojson(res.getData()); ???????resJson.put("kdservice-sessionid", sessionid); ???????return resJson; ???} ???public String doKdPost(String url, String json, String session) throws IOException { ???????HttpPost httpPost = new HttpPost(url); ???????httpPost.setConfig(this.requestConfig); ???????httpPost.addHeader("kdservice-sessionid", session); ???????if (json != null) { ???????????StringEntity stringEntity = new StringEntity(json, ContentType.APPLICATION_JSON); ???????????httpPost.setEntity(stringEntity); ???????} ???????CloseableHttpResponse response = null; ???????HttpResult res; ???????try { ???????????response = this.httpClient.execute(httpPost); ???????????res = new HttpResult(response.getStatusLine().getStatusCode(), EntityUtils.toString(response.getEntity(), "UTF-8")); ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????return res.getData(); ???} ???public HttpResult doPost(String url, Map<String, String> paramMap) throws IOException { ???????HttpPost httpPost = new HttpPost(url); ???????httpPost.setConfig(this.requestConfig); ???????httpPost.addHeader("x-access-token", SessionUtil.getToken()); ???????if (paramMap != null) { ???????????List<NameValuePair> parameters = new ArrayList(); ???????????Iterator var5 = paramMap.keySet().iterator(); ???????????while(var5.hasNext()) { ???????????????String s = (String)var5.next(); ???????????????parameters.add(new BasicNameValuePair(s, (String)paramMap.get(s))); ???????????} ???????????UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(parameters, Charset.forName("UTF-8")); ???????????httpPost.setEntity(formEntity); ???????} ???????CloseableHttpResponse response = null; ???????HttpResult var11; ???????try { ???????????response = this.httpClient.execute(httpPost); ???????????LogUtils.printfCallback().info("url>" + url + "param>" + paramMap + "return>" + response); ???????????var11 = new HttpResult(response.getStatusLine().getStatusCode(), EntityUtils.toString(response.getEntity())); ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????return var11; ???} ???public HttpResult doPost(String url) throws IOException { ???????return this.doPost(url, (Map)null); ???} ???public JsonObject postResult(String url) throws IOException { ???????String s = this.doPost(url).getData(); ???????return JsonUtil.stringTojson(s); ???} ???public JsonObject postResult(String url, String json) throws IOException { ???????long beginTime = System.currentTimeMillis(); ???????String s = null; ???????s = this.doPostJson(url, json).getData(); ???????long endTime = System.currentTimeMillis(); ???????LogUtils.commonLog().info("请求工程耗时: {} ?URI:{}", DateUtils.formatDateTime(endTime - beginTime), url); ???????return s != null && !s.equals("") ? JsonUtil.stringTojson(s) : new JsonObject(); ???} ???public JsonObject postResult(String url, String json, String session) throws IOException { ???????String s = null; ???????s = this.doPostJson(url, json, session).getData(); ???????return s != null && !s.equals("") ? JsonUtil.stringTojson(s) : new JsonObject(); ???} ???public RpcResult postRpcResult(String url, String json) throws IOException { ???????String s = null; ???????RpcResult result = new RpcResult(); ???????s = this.doPostJson(url, json).getData(); ???????if (s != null && !s.equals("")) { ???????????result.setValue(s); ???????????return result; ???????} else { ???????????return result; ???????} ???} ???public HttpResult doPostJson(String url, String json) throws IOException { ???????HttpPost httpPost = new HttpPost(url); ???????httpPost.setConfig(this.requestConfig); ???????httpPost.addHeader("x-access-token", SessionUtil.getToken()); ???????httpPost.addHeader("Content-Type", "application/json"); ???????if (json != null) { ???????????StringEntity stringEntity = new StringEntity(json, ContentType.APPLICATION_JSON); ???????????httpPost.setEntity(stringEntity); ???????} ???????CloseableHttpResponse response = null; ???????HttpResult res; ???????try { ???????????response = this.httpClient.execute(httpPost); ???????????LogUtils.printfCallback().info("url>" + url + "param>" + json + "return>" + response); ???????????res = new HttpResult(response.getStatusLine().getStatusCode(), EntityUtils.toString(response.getEntity(), "UTF-8")); ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????return res; ???} ???public HttpResult doPostJson(String url, String json, String session) throws IOException { ???????HttpPost httpPost = new HttpPost(url); ???????httpPost.setConfig(this.requestConfig); ???????if (session != null) { ???????????httpPost.addHeader("x-access-token", session); ???????} ???????if (json != null) { ???????????StringEntity stringEntity = new StringEntity(json, ContentType.APPLICATION_JSON); ???????????httpPost.setEntity(stringEntity); ???????} ???????CloseableHttpResponse response = null; ???????HttpResult var6; ???????try { ???????????response = this.httpClient.execute(httpPost); ???????????LogUtils.printfCallback().info("url>" + url + "param>" + json + "return>" + response); ???????????var6 = new HttpResult(response.getStatusLine().getStatusCode(), EntityUtils.toString(response.getEntity(), "UTF-8")); ???????} finally { ???????????if (response != null) { ???????????????response.close(); ???????????} ???????} ???????return var6; ???} ???public <T> T doPostJson(String url, Object entity, String token, TypeReference<T> type) { ???????HttpPost httpPost = new HttpPost(url); ???????httpPost.setConfig(this.requestConfig); ???????String requestJson = null; ???????if (token != null) { ???????????httpPost.addHeader("x-access-token", token); ???????} ???????if (entity != null) { ???????????requestJson = gson.toJson(entity); ???????????StringEntity stringEntity = new StringEntity(requestJson, ContentType.APPLICATION_JSON); ???????????httpPost.setEntity(stringEntity); ???????} ???????CloseableHttpResponse response = null; ???????Object var9; ???????try { ???????????response = this.httpClient.execute(httpPost); ???????????if (response.getStatusLine().getStatusCode() != 200) { ???????????????throw new RuntimeException(String.format("request url:%s with requestBody %s get response %s", url, requestJson, response)); ???????????} ???????????ThcResponse<T> thcResponse = (ThcResponse)JSON.parseObject(EntityUtils.toString(response.getEntity(), "UTF-8"), new TypeReference<ThcResponse<T>>() { ???????????}, new Feature[0]); ???????????var9 = JSON.parseObject(JSONUtils.toJSONString(thcResponse.getSuccessData()), type, new Feature[0]); ???????} catch (IOException var18) { ???????????throw new RuntimeException(String.format("request url:%s with request body %s", url, requestJson), var18); ???????} finally { ???????????if (response != null) { ???????????????try { ???????????????????response.close(); ???????????????} catch (IOException var17) { ???????????????????var17.printStackTrace(); ???????????????} ???????????} ???????} ???????return var9; ???}}
HttpService
原文地址:https://www.cnblogs.com/guchunchao/p/10620981.html