From 5b2ad19f12776bab57dd26aed90147f9e53703eb Mon Sep 17 00:00:00 2001 From: richardxin Date: Mon, 3 Aug 2015 17:00:23 +0800 Subject: [PATCH 1/2] "remove unused functions and interceptors" --- .../interceptor/ClientRequestInterceptor.java | 27 ------------ .../ClientResponseInterceptor.java | 44 ------------------- 2 files changed, 71 deletions(-) delete mode 100755 java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientRequestInterceptor.java delete mode 100755 java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientResponseInterceptor.java diff --git a/java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientRequestInterceptor.java b/java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientRequestInterceptor.java deleted file mode 100755 index b19fba5..0000000 --- a/java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientRequestInterceptor.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.pier.httpclient.interceptor; - -import java.io.IOException; - -import org.apache.http.HttpException; -import org.apache.http.HttpRequest; -import org.apache.http.HttpRequestInterceptor; -import org.apache.http.protocol.HttpContext; - -/** - * - * 描述: - * 客户端Http请求拦截器 - * @author Caliph CHEN - * @date 2014年7月15日 - * - */ -public class ClientRequestInterceptor implements HttpRequestInterceptor{ - @Override - public void process(HttpRequest request, HttpContext context) - throws HttpException, IOException { - // TODO Auto-generated method stub - if (!request.containsHeader("Accept-Encoding")) { - request.addHeader("Accept-Encoding", "gzip"); - } - } -} diff --git a/java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientResponseInterceptor.java b/java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientResponseInterceptor.java deleted file mode 100755 index 8fe97ff..0000000 --- a/java_sdk/src/main/java/com/pier/httpclient/interceptor/ClientResponseInterceptor.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.pier.httpclient.interceptor; - -import java.io.IOException; - -import org.apache.http.Header; -import org.apache.http.HeaderElement; -import org.apache.http.HttpEntity; -import org.apache.http.HttpException; -import org.apache.http.HttpResponse; -import org.apache.http.HttpResponseInterceptor; -import org.apache.http.client.entity.GzipDecompressingEntity; -import org.apache.http.protocol.HttpContext; - -/** - * - * 描述: - * 客户端Http响应拦截器 - * @author Caliph CHEN - * @date 2014年7月15日 - * - */ -public class ClientResponseInterceptor implements HttpResponseInterceptor{ - @Override - public void process(HttpResponse response, HttpContext context) - throws HttpException, IOException { - // TODO Auto-generated method stub - HttpEntity entity = response.getEntity(); - if (entity == null) { - return; - } - Header ceheader = entity.getContentEncoding(); - if (ceheader == null) { - return; - } - HeaderElement[] codecs = ceheader.getElements(); - for(HeaderElement element:codecs) - { - if ("gzip".equalsIgnoreCase(element.getName())) { - response.setEntity(new GzipDecompressingEntity(entity)); - return; - } - } - } -} From b65c9b0dde53f82af69700c703f64a2d94d44b4f Mon Sep 17 00:00:00 2001 From: richardxin Date: Mon, 3 Aug 2015 17:01:50 +0800 Subject: [PATCH 2/2] "updated" --- .../client/AbstractDisableJsClient.java | 1168 ++--------------- .../httpclient/client/DisableJsClient.java | 200 --- .../ClientConnectionKeepAliveStrategy.java | 1 - .../httpclient/util/HttpClientFactory.java | 3 +- .../pier/httpclient/util/HttpClientUtils.java | 291 ---- .../com/pier/model/TransactionConfig.java | 4 +- .../main/java/com/pier/sdk/AbstractSDK.java | 22 +- 7 files changed, 121 insertions(+), 1568 deletions(-) diff --git a/java_sdk/src/main/java/com/pier/httpclient/client/AbstractDisableJsClient.java b/java_sdk/src/main/java/com/pier/httpclient/client/AbstractDisableJsClient.java index 351c4c7..4a1ba4d 100755 --- a/java_sdk/src/main/java/com/pier/httpclient/client/AbstractDisableJsClient.java +++ b/java_sdk/src/main/java/com/pier/httpclient/client/AbstractDisableJsClient.java @@ -1,986 +1,128 @@ package com.pier.httpclient.client; -import java.io.File; -import java.io.InputStream; import java.net.URI; import java.net.URL; import java.nio.charset.Charset; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; -import java.util.ArrayList; -import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; +import javax.net.ssl.SSLContext; +import org.apache.http.HttpResponse; +import org.apache.http.auth.AuthSchemeProvider; +import org.apache.http.client.config.AuthSchemes; +import org.apache.http.client.config.CookieSpecs; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.entity.EntityBuilder; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpRequestBase; +import org.apache.http.config.Registry; +import org.apache.http.config.RegistryBuilder; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.conn.ssl.TrustStrategy; +import org.apache.http.entity.ContentType; +import org.apache.http.impl.auth.BasicSchemeFactory; +import org.apache.http.impl.auth.DigestSchemeFactory; +import org.apache.http.impl.auth.KerberosSchemeFactory; +import org.apache.http.impl.auth.NTLMSchemeFactory; +import org.apache.http.impl.auth.SPNegoSchemeFactory; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.client.LaxRedirectStrategy; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.ssl.SSLContexts; +import org.apache.log4j.Logger; +import com.pier.httpclient.config.ClientConfig; +import com.pier.httpclient.handler.ClientRequestRetryHandler; +import com.pier.httpclient.strategy.ClientConnectionKeepAliveStrategy; +import com.pier.httpclient.util.EntityUtils; -import javax.net.ssl.SSLContext; - -import org.apache.commons.io.IOUtils; -import org.apache.http.HttpResponse; -import org.apache.http.NameValuePair; -import org.apache.http.auth.AuthSchemeProvider; -import org.apache.http.client.ResponseHandler; -import org.apache.http.client.config.AuthSchemes; -import org.apache.http.client.config.CookieSpecs; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.client.entity.EntityBuilder; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpHead; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; -import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.config.Registry; -import org.apache.http.config.RegistryBuilder; -import org.apache.http.conn.socket.ConnectionSocketFactory; -import org.apache.http.conn.socket.PlainConnectionSocketFactory; -import org.apache.http.conn.ssl.SSLConnectionSocketFactory; -import org.apache.http.conn.ssl.TrustStrategy; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.mime.MultipartEntityBuilder; -import org.apache.http.impl.auth.BasicSchemeFactory; -import org.apache.http.impl.auth.DigestSchemeFactory; -import org.apache.http.impl.auth.KerberosSchemeFactory; -import org.apache.http.impl.auth.NTLMSchemeFactory; -import org.apache.http.impl.auth.SPNegoSchemeFactory; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.impl.client.LaxRedirectStrategy; -import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; -import org.apache.http.message.BasicNameValuePair; -import org.apache.http.protocol.HttpContext; -import org.apache.http.ssl.SSLContexts; -import org.apache.log4j.Logger; - -import com.pier.httpclient.config.ClientConfig; -import com.pier.httpclient.handler.ClientRequestRetryHandler; -import com.pier.httpclient.interceptor.ClientRequestInterceptor; -import com.pier.httpclient.interceptor.ClientResponseInterceptor; -import com.pier.httpclient.strategy.ClientConnectionKeepAliveStrategy; -import com.pier.httpclient.util.EntityUtils; - -/** - * - * 描述: 不可执行js的客户端的实现骨架 - * - * @author Caliph CHEN - * @date 2014年9月15日 - * - */ -public abstract class AbstractDisableJsClient implements DisableJsClient { - protected final static Logger logger = Logger - .getLogger(AbstractDisableJsClient.class); - protected final CloseableHttpClient httpClient; - private final PoolingHttpClientConnectionManager pccm; - private final HttpConnMonitorThread connMonitor; - - public AbstractDisableJsClient(ClientConfig config) { - super(); - Registry registry = RegistryBuilder - . create() - .register(AuthSchemes.DIGEST, new DigestSchemeFactory()) - .register(AuthSchemes.BASIC, new BasicSchemeFactory()) - .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory()) - .register(AuthSchemes.KERBEROS, new KerberosSchemeFactory()) - .register(AuthSchemes.NTLM, new NTLMSchemeFactory()).build(); - SSLContext sslContext = null; - try { - sslContext = SSLContexts.custom() - .loadTrustMaterial(null, new TrustStrategy() { - - @Override - public boolean isTrusted(X509Certificate[] chain, - String authType) throws CertificateException { - // TODO Auto-generated method stub - return true; - } - }).build(); - } catch (Exception e) { - // TODO: handle exception - logger.error("创建ssl上下文异常!", e); - } - SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory( - sslContext, - SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); - Registry registry2 = RegistryBuilder - . create() - .register("http", - PlainConnectionSocketFactory.getSocketFactory()) - .register("https", sslConnectionSocketFactory).build(); - pccm = new PoolingHttpClientConnectionManager(registry2); - pccm.setDefaultMaxPerRoute(config.getDefaultMaxPerRoute()); - pccm.setMaxTotal(config.getMaxTotal()); - RequestConfig config2 = RequestConfig - .custom() - .setConnectionRequestTimeout( - config.getConnectionRequestTimeout()) - .setConnectTimeout(config.getConnectTimeout()) - .setCookieSpec(CookieSpecs.BROWSER_COMPATIBILITY) - .setMaxRedirects(config.getMaxRedirects()) - .setRedirectsEnabled(config.isRedirectsEnabled()) - .setRelativeRedirectsAllowed( - config.isRelativeRedirectsAllowed()) - .setSocketTimeout(config.getSocketTimeout()).build(); - httpClient = HttpClients.custom().setConnectionManager(pccm) - .setDefaultRequestConfig(config2) - .setKeepAliveStrategy(new ClientConnectionKeepAliveStrategy()) - .setRetryHandler(new ClientRequestRetryHandler()) - .setRedirectStrategy(new LaxRedirectStrategy()) - .addInterceptorFirst(new ClientRequestInterceptor()) - .addInterceptorFirst(new ClientResponseInterceptor()) - .setUserAgent(config.getUserAgent()) - .setDefaultAuthSchemeRegistry(registry).build(); - connMonitor = new HttpConnMonitorThread(pccm); - connMonitor.start(); - logger.info("初始化DisableJsClient完成!"); - } - - @Override - public void destroy() { - // TODO Auto-generated method stub - logger.info("开始准备关闭 HttpClient connection 连接池..."); - connMonitor.shutdown(); - pccm.shutdown(); - logger.info("成功准备关闭 HttpClient connection 连接池!"); - } - - @Override - public int head(String uri, com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - int statusCode = 0; - HttpHead head = null; - try { - URL url = new URL(uri); - head = new HttpHead(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造head请求发生异常!", e); - return statusCode; - } - head = setConfig(head, config); - head = setCookies(head, config); - head = setHeaders(head, config); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(head); - statusCode = response.getStatusLine().getStatusCode(); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error( - "执行head请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试.", e); - } finally { - closeResponse(response); - } - } - return statusCode; - } - @Override - public String putJsonStr(String uri, - com.pier.httpclient.config.RequestConfig config, String jsonStr) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPut post = null; - String value = null; - try { - URL url = new URL(uri); - post = new HttpPut(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_JSON.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setText(jsonStr); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = EntityUtils.toString( - response.getEntity(), - (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行put请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - @Override - public String getStr(String uri, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpGet get = null; - String value = null; - try { - URL url = new URL(uri); - get = new HttpGet(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造get请求发生异常!", e); - return value; - } - get = setConfig(get, config); - get = setCookies(get, config); - get = setHeaders(get, config); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(get); - value = EntityUtils.toString( - response.getEntity(), - (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行get请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public byte[] getBytes(String uri, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpGet get = null; - byte[] value = null; - try { - URL url = new URL(uri); - get = new HttpGet(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造get请求发生异常!", e); - return value; - } - get = setConfig(get, config); - get = setCookies(get, config); - get = setHeaders(get, config); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(get); - value = IOUtils.toByteArray(response.getEntity().getContent()); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行get请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public T getT(String uri, - com.pier.httpclient.config.RequestConfig config, - ResponseHandler handler, HttpContext context) { - // TODO Auto-generated method stub - HttpGet get = null; - T value = null; - try { - URL url = new URL(uri); - get = new HttpGet(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造get请求发生异常!", e); - return value; - } - get = setConfig(get, config); - get = setCookies(get, config); - get = setHeaders(get, config); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - value = httpClient.execute(get, handler, context); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行get请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - - } - } - return value; - } - - @Override - public String postBinarysStr(String uri, byte[] binarys, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - String value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.DEFAULT_BINARY.getMimeType(), - (config.getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setBinary(binarys); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = EntityUtils.toString( - response.getEntity(), - (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public byte[] postBinarysBytes(String uri, byte[] binarys, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - byte[] value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.DEFAULT_BINARY.getMimeType(), - (config.getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setBinary(binarys); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = IOUtils.toByteArray(response.getEntity().getContent()); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public T postBinarysT(String uri, byte[] binarys, - com.pier.httpclient.config.RequestConfig config, - ResponseHandler handler, HttpContext context) { - // TODO Auto-generated method stub - HttpPost post = null; - T value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.DEFAULT_BINARY.getMimeType(), - (config.getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setBinary(binarys); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - value = httpClient.execute(post, handler, context); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - - } - } - return value; - } - - @Override - public String postFormStr(String uri, - com.pier.httpclient.config.RequestConfig config, - Map params) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - String value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - if (params != null) { - List nameValuePairs = new ArrayList(); - for (Map.Entry entry : params.entrySet()) { - nameValuePairs.add(new BasicNameValuePair(entry.getKey(), entry - .getValue())); - } - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_FORM_URLENCODED.getMimeType(), - (config.getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setParameters(nameValuePairs); - post.setEntity(entityBuilder.build()); - } - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = EntityUtils.toString( - response.getEntity(), - (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public byte[] postFormBytes(String uri, - com.pier.httpclient.config.RequestConfig config, - Map params) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - byte[] value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - if (params != null) { - List nameValuePairs = new ArrayList(); - for (Map.Entry entry : params.entrySet()) { - nameValuePairs.add(new BasicNameValuePair(entry.getKey(), entry - .getValue())); - } - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_FORM_URLENCODED.getMimeType(), - (config.getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setParameters(nameValuePairs); - post.setEntity(entityBuilder.build()); - } - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = IOUtils.toByteArray(response.getEntity().getContent()); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public T postFormT(String uri, - com.pier.httpclient.config.RequestConfig config, - Map params, ResponseHandler handler, - HttpContext context) { - // TODO Auto-generated method stub - HttpPost post = null; - T value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - if (params != null) { - List nameValuePairs = new ArrayList(); - for (Map.Entry entry : params.entrySet()) { - nameValuePairs.add(new BasicNameValuePair(entry.getKey(), entry - .getValue())); - } - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_FORM_URLENCODED.getMimeType(), - (config.getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setParameters(nameValuePairs); - post.setEntity(entityBuilder.build()); - } - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - value = httpClient.execute(post, handler, context); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - - } - } - return value; - } - - @Override - public String postJsonStr(String uri, - com.pier.httpclient.config.RequestConfig config, String jsonStr) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - String value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_JSON.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setText(jsonStr); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = EntityUtils.toString( - response.getEntity(), - (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public byte[] postJsonBytes(String uri, - com.pier.httpclient.config.RequestConfig config, String jsonStr) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - byte[] value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_JSON.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setText(jsonStr); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = IOUtils.toByteArray(response.getEntity().getContent()); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public T postJsonT(String uri, - com.pier.httpclient.config.RequestConfig config, String jsonStr, - ResponseHandler handler, HttpContext context) { - // TODO Auto-generated method stub - HttpPost post = null; - T value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_JSON.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setText(jsonStr); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - value = httpClient.execute(post, handler, context); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - - } - } - return value; - } - - @Override - public String postMultipartStr(String uri, Map params, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - String value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - if (params != null) { - MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder - .create(); - multipartEntityBuilder - .setCharset(config.getCharset() == null ? Charset - .forName("UTF-8") : config.getCharset()); - for (Map.Entry entry : params.entrySet()) { - if (entry.getValue() instanceof String) { - multipartEntityBuilder.addTextBody(entry.getKey(), - (String) entry.getValue(), - ContentType.MULTIPART_FORM_DATA); - } else if (entry.getValue() instanceof InputStream) { - multipartEntityBuilder.addBinaryBody(entry.getKey(), - (InputStream) entry.getValue(), - ContentType.MULTIPART_FORM_DATA, ""); - } else if (entry.getValue() instanceof File) { - multipartEntityBuilder.addBinaryBody(entry.getKey(), - (File) entry.getValue(), - ContentType.MULTIPART_FORM_DATA, ""); - } - } - post.setEntity(multipartEntityBuilder.build()); - } - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = EntityUtils.toString( - response.getEntity(), - (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } +/** + * + * 描述: 不可执行js的客户端的实现骨架 + * + * @author Caliph CHEN + * @date 2014年9月15日 + * + */ +public abstract class AbstractDisableJsClient implements DisableJsClient { + protected final static Logger logger = Logger.getLogger(AbstractDisableJsClient.class); + protected final CloseableHttpClient httpClient; + private final PoolingHttpClientConnectionManager pccm; + private final HttpConnMonitorThread connMonitor; - @Override - public byte[] postMultipartBytes(String uri, Map params, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - byte[] value = null; + public AbstractDisableJsClient(ClientConfig config) { + super(); + Registry registry = RegistryBuilder + . create() + .register(AuthSchemes.DIGEST, new DigestSchemeFactory()) + .register(AuthSchemes.BASIC, new BasicSchemeFactory()) + .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory()) + .register(AuthSchemes.KERBEROS, new KerberosSchemeFactory()) + .register(AuthSchemes.NTLM, new NTLMSchemeFactory()).build(); + SSLContext sslContext = null; try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); + sslContext = SSLContexts.custom().loadTrustMaterial(null, new TrustStrategy() { + @Override + public boolean isTrusted(X509Certificate[] chain,String authType) + throws CertificateException { + return true; + } + }).build(); } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - if (params != null) { - MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder - .create(); - multipartEntityBuilder - .setCharset(config.getCharset() == null ? Charset - .forName("UTF-8") : config.getCharset()); - for (Map.Entry entry : params.entrySet()) { - if (entry.getValue() instanceof String) { - multipartEntityBuilder.addTextBody(entry.getKey(), - (String) entry.getValue(), - ContentType.MULTIPART_FORM_DATA); - } else if (entry.getValue() instanceof InputStream) { - multipartEntityBuilder.addBinaryBody(entry.getKey(), - (InputStream) entry.getValue(), - ContentType.MULTIPART_FORM_DATA, ""); - } else if (entry.getValue() instanceof File) { - multipartEntityBuilder.addBinaryBody(entry.getKey(), - (File) entry.getValue(), - ContentType.MULTIPART_FORM_DATA, ""); - } - } - post.setEntity(multipartEntityBuilder.build()); - } - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = IOUtils.toByteArray(response.getEntity().getContent()); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } + logger.error("创建ssl上下文异常!", e); } - return value; + SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory( + sslContext,SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + Registry registry2 = RegistryBuilder + . create() + .register("http",PlainConnectionSocketFactory.getSocketFactory()) + .register("https", sslConnectionSocketFactory).build(); + pccm = new PoolingHttpClientConnectionManager(registry2); + pccm.setDefaultMaxPerRoute(config.getDefaultMaxPerRoute()); + pccm.setMaxTotal(config.getMaxTotal()); + RequestConfig config2 = RequestConfig + .custom() + .setConnectionRequestTimeout(config.getConnectionRequestTimeout()) + .setConnectTimeout(config.getConnectTimeout()) + .setCookieSpec(CookieSpecs.BROWSER_COMPATIBILITY) + .setMaxRedirects(config.getMaxRedirects()) + .setRedirectsEnabled(config.isRedirectsEnabled()) + .setRelativeRedirectsAllowed(config.isRelativeRedirectsAllowed()) + .setSocketTimeout(config.getSocketTimeout()).build(); + httpClient = HttpClients.custom().setConnectionManager(pccm) + .setDefaultRequestConfig(config2) + .setKeepAliveStrategy(new ClientConnectionKeepAliveStrategy()) + .setRetryHandler(new ClientRequestRetryHandler()) + .setRedirectStrategy(new LaxRedirectStrategy()) + .setUserAgent(config.getUserAgent()) + .setDefaultAuthSchemeRegistry(registry).build(); + connMonitor = new HttpConnMonitorThread(pccm); + connMonitor.start(); + logger.info("初始化DisableJsClient完成!"); } @Override - public T postMultipartT(String uri, Map params, - com.pier.httpclient.config.RequestConfig config, - ResponseHandler handler, HttpContext context) { - // TODO Auto-generated method stub - HttpPost post = null; - T value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - if (params != null) { - MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder - .create(); - multipartEntityBuilder - .setCharset(config.getCharset() == null ? Charset - .forName("UTF-8") : config.getCharset()); - for (Map.Entry entry : params.entrySet()) { - if (entry.getValue() instanceof String) { - multipartEntityBuilder.addTextBody(entry.getKey(), - (String) entry.getValue(), - ContentType.MULTIPART_FORM_DATA); - } else if (entry.getValue() instanceof InputStream) { - multipartEntityBuilder.addBinaryBody(entry.getKey(), - (InputStream) entry.getValue(), - ContentType.MULTIPART_FORM_DATA, ""); - } else if (entry.getValue() instanceof File) { - multipartEntityBuilder.addBinaryBody(entry.getKey(), - (File) entry.getValue(), - ContentType.MULTIPART_FORM_DATA, ""); - } - } - post.setEntity(multipartEntityBuilder.build()); - } - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - value = httpClient.execute(post, handler, context); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - - } - } - return value; + public void destroy() { + logger.info("开始准备关闭 HttpClient connection 连接池..."); + connMonitor.shutdown(); + pccm.shutdown(); + logger.info("成功准备关闭 HttpClient connection 连接池!"); } @Override - public String postStreamStr(String uri, InputStream stream, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub + public String postJsonStr(String uri,com.pier.httpclient.config.RequestConfig config, String jsonStr) { HttpResponse response = null; HttpPost post = null; String value = null; try { URL url = new URL(uri); post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); + url.getHost(), url.getPort(), url.getPath(), + url.getQuery(), null)); } catch (Exception e) { - // TODO: handle exception logger.error("构造post请求发生异常!", e); return value; } @@ -989,71 +131,22 @@ public String postStreamStr(String uri, InputStream stream, post = setHeaders(post, config); EntityBuilder entityBuilder = EntityBuilder.create(); entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_OCTET_STREAM.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setStream(stream); + ContentType.APPLICATION_JSON.getMimeType(), (config + .getCharset() == null ? Charset.forName("UTF-8") + : config.getCharset()))); + entityBuilder.setText(jsonStr); post.setEntity(entityBuilder.build()); int retryCount = 0; while (retryCount < config.getRetryCount()) { try { response = httpClient.execute(post); - value = EntityUtils.toString( - response.getEntity(), + value = EntityUtils.toString(response.getEntity(), (config.getCharset() == null ? EntityUtils - .getCharset(response.getEntity()) : config - .getCharset())); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - closeResponse(response); - } - } - return value; - } - - @Override - public byte[] postStreamBytes(String uri, InputStream stream, - com.pier.httpclient.config.RequestConfig config) { - // TODO Auto-generated method stub - HttpResponse response = null; - HttpPost post = null; - byte[] value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_OCTET_STREAM.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setStream(stream); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - response = httpClient.execute(post); - value = IOUtils.toByteArray(response.getEntity().getContent()); + .getCharset(response.getEntity()) : config.getCharset())); break; } catch (Exception e) { - // TODO: handle exception retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); + logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试",e); } finally { closeResponse(response); } @@ -1061,50 +154,6 @@ public byte[] postStreamBytes(String uri, InputStream stream, return value; } - @Override - public T postStreamT(String uri, InputStream stream, - com.pier.httpclient.config.RequestConfig config, - ResponseHandler handler, HttpContext context) { - // TODO Auto-generated method stub - HttpPost post = null; - T value = null; - try { - URL url = new URL(uri); - post = new HttpPost(new URI(url.getProtocol(), url.getUserInfo(), - url.getHost(), url.getPort(), url.getPath(), - url.getQuery(), null)); - } catch (Exception e) { - // TODO: handle exception - logger.error("构造post请求发生异常!", e); - return value; - } - post = setConfig(post, config); - post = setCookies(post, config); - post = setHeaders(post, config); - EntityBuilder entityBuilder = EntityBuilder.create(); - entityBuilder.setContentType(ContentType.create( - ContentType.APPLICATION_OCTET_STREAM.getMimeType(), (config - .getCharset() == null ? Charset.forName("UTF-8") - : config.getCharset()))); - entityBuilder.setStream(stream); - post.setEntity(entityBuilder.build()); - int retryCount = 0; - while (retryCount < config.getRetryCount()) { - try { - value = httpClient.execute(post, handler, context); - break; - } catch (Exception e) { - // TODO: handle exception - retryCount++; - logger.error("执行post请求发生异常,准备进行第[" + (retryCount + 1) + "]次尝试", - e); - } finally { - - } - } - return value; - } - /** * * 描述: 添加http连接管理 @@ -1213,11 +262,10 @@ protected T setCookies(T t, * @return */ protected T setHeaders(T t, - com.pier.httpclient.config.RequestConfig config) { + com.pier.httpclient.config.RequestConfig config) { if (config.getHeaders().size() > 0) { - for (Map.Entry entry : config.getHeaders() - .entrySet()) { - t.addHeader(entry.getKey(), entry.getValue()); + for (Map.Entry entry : config.getHeaders().entrySet()) { + t.addHeader(entry.getKey(), entry.getValue()); } } return t; diff --git a/java_sdk/src/main/java/com/pier/httpclient/client/DisableJsClient.java b/java_sdk/src/main/java/com/pier/httpclient/client/DisableJsClient.java index 5ad52f0..cc4b32d 100755 --- a/java_sdk/src/main/java/com/pier/httpclient/client/DisableJsClient.java +++ b/java_sdk/src/main/java/com/pier/httpclient/client/DisableJsClient.java @@ -24,56 +24,6 @@ public interface DisableJsClient extends IClient { * 释放资源 */ public void destroy(); - /** - * - * 描述: - * 发送head请求,返回状态码 - * @param uri - * @param config - * @return - */ - public int head(String uri,RequestConfig config); - /** - * - *@Title: putJsonStr - * @Description: 发送put请求,以json方式提交数据,返回字符串 - * @param uri - * @param config - * @param jsonStr - * @return - * @return String - * @throws - */ - public String putJsonStr(String uri,RequestConfig config,String jsonStr); - /** - * - * 描述: - * 发送get请求,返回字符串 - * @param uri - * @param config - * @return - */ - public String getStr(String uri,RequestConfig config); - /** - * - * 描述: - * 发送get请求,返回字节数组 - * @param uri - * @param config - * @return - */ - public byte[] getBytes(String uri,RequestConfig config); - /** - * - * 描述: - * 发送get请求,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * @param uri - * @param config - * @param handler - * @param context - * @return - */ - public T getT(String uri,RequestConfig config,ResponseHandler handler,HttpContext context); /** * * 描述: @@ -84,154 +34,4 @@ public interface DisableJsClient extends IClient { * @return */ public String postJsonStr(String uri,RequestConfig config,String jsonStr); - /** - * - * 描述: - * 发送post请求,以json方式提交数据,返回字节数组 - * @param uri - * @param config - * @param jsonStr - * @return - */ - public byte[] postJsonBytes(String uri,RequestConfig config,String jsonStr); - /** - * - * 描述: - * 发送post请求,以json方式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * @param uri - * @param config - * @param jsonStr - * @param handler - * @param context - * @return - */ - public T postJsonT(String uri,RequestConfig config,String jsonStr,ResponseHandler handler,HttpContext context); - /** - * - * 描述: - *发送post请求,以form方式提交数据,返回字符串 - * @param uri - * @param config - * @param params - * @return - */ - public String postFormStr(String uri,RequestConfig config,Map params); - /** - * - * 描述: - *发送post请求,以form方式提交数据,返回字节数组 - * @param uri - * @param config - * @param params - * @return - */ - public byte[] postFormBytes(String uri,RequestConfig config,Map params); - /** - * - * 描述: - *发送post请求,以form方式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * @param uri - * @param config - * @param params - * @param handler - * @param context - * @return - */ - public T postFormT(String uri,RequestConfig config,Map params,ResponseHandler handler,HttpContext context); - /** - * - * 描述: - *发送post请求,以流式的方式提交数据,返回字符串 - * @param uri - * @param stream - * @param config - * @return - */ - public String postStreamStr(String uri,InputStream stream,RequestConfig config); - /** - * - * 描述: - *发送post请求,以流式方式提交数据,返回字节数组 - * @param uri - * @param stream - * @param config - * @return - */ - public byte[] postStreamBytes(String uri,InputStream stream,RequestConfig config); - /** - * - * 描述: - * 发送post请求,以流式方式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * @param uri - * @param stream - * @param config - * @param handler - * @param context - * @return - */ - public T postStreamT(String uri,InputStream stream,RequestConfig config,ResponseHandler handler,HttpContext context); - /** - * - * 描述: - *发送post请求,以字节数组形式提交数据,返回字符串 - * @param uri - * @param binarys - * @param config - * @return - */ - public String postBinarysStr(String uri,byte[] binarys,RequestConfig config); - /** - * - * 描述: - *发送post请求,以字节数据形式提交数据,返回字节数组 - * @param uri - * @param binarys - * @param config - * @return - */ - public byte[] postBinarysBytes(String uri,byte[] binarys,RequestConfig config); - /** - * - * 描述: - *发送post请求,以字节数组形式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * @param uri - * @param binarys - * @param config - * @param handler - * @param context - * @return - */ - public T postBinarysT(String uri,byte[] binarys,RequestConfig config,ResponseHandler handler,HttpContext context); - /** - * - * 描述: - *发送post请求,以multipart形式提交数据,返回字符串 - * @param uri - * @param params - * @param config - * @return - */ - public String postMultipartStr(String uri,Map params,RequestConfig config); - /** - * - * 描述: - *发送post请求,以multipart形式提交数据,返回字节数组 - * @param uri - * @param params - * @param config - * @return - */ - public byte[] postMultipartBytes(String uri,Map params,RequestConfig config); - /** - * - * 描述: - *发送post请求,以multipart形式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * @param uri - * @param params - * @param config - * @param handler - * @param context - * @return - */ - public T postMultipartT(String uri,Map params,RequestConfig config,ResponseHandler handler,HttpContext context); } diff --git a/java_sdk/src/main/java/com/pier/httpclient/strategy/ClientConnectionKeepAliveStrategy.java b/java_sdk/src/main/java/com/pier/httpclient/strategy/ClientConnectionKeepAliveStrategy.java index a302b40..62e0148 100755 --- a/java_sdk/src/main/java/com/pier/httpclient/strategy/ClientConnectionKeepAliveStrategy.java +++ b/java_sdk/src/main/java/com/pier/httpclient/strategy/ClientConnectionKeepAliveStrategy.java @@ -14,7 +14,6 @@ public class ClientConnectionKeepAliveStrategy extends DefaultConnectionKeepAliveStrategy{ @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { - // TODO Auto-generated method stub long keepAlive=super.getKeepAliveDuration(response, context); if (keepAlive==-1) { keepAlive=60*1000; diff --git a/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientFactory.java b/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientFactory.java index 29313d7..27f2eae 100755 --- a/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientFactory.java +++ b/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientFactory.java @@ -36,8 +36,7 @@ public static DisableJsClient getDisableJsClient(Clie Constructor< T> constructor= class1.getDeclaredConstructor(ClientConfig.class); constructor.setAccessible(true); return constructor.newInstance(config); - } catch (Exception e) { - // TODO: handle exception + }catch(Exception e){ logger.error("工厂构造DisableJsClient发生异常!", e); return new DefaultDisableJsClient(config); } diff --git a/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientUtils.java b/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientUtils.java index a38b40a..f174cb8 100755 --- a/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientUtils.java +++ b/java_sdk/src/main/java/com/pier/httpclient/util/HttpClientUtils.java @@ -1,11 +1,5 @@ package com.pier.httpclient.util; -import java.io.InputStream; -import java.util.Map; - -import org.apache.http.client.ResponseHandler; -import org.apache.http.protocol.HttpContext; - import com.pier.httpclient.client.DisableJsClient; import com.pier.httpclient.config.ClientConfig; import com.pier.httpclient.config.RequestConfig; @@ -26,82 +20,11 @@ public class HttpClientUtils { Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { - // TODO Auto-generated method stub disableJsClient.destroy(); } }); } - /** - * - * 描述: 进行head请求,返回状态码 - * - * @param uri - * @param config - * @param enableJs - * @return - */ - public static int head(String uri, RequestConfig config, boolean enableJs) { - return disableJsClient.head(uri, config); - } - - /** - * - * 描述: 发送put请求,以json方式提交数据,返回字符串 - * - * @param uri - * @param config - * @param jsonStr - * @return - */ - public static String putJsonStr(String uri, RequestConfig config, String jsonStr) { - return disableJsClient.putJsonStr(uri, config, jsonStr); - } - - - /** - * - * 描述: 发送get请求,返回字符串 - * - * @param uri - * @param config - * @param enableJs - * @return - */ - public static String getStr(String uri, RequestConfig config, - boolean enableJs) { - return disableJsClient.getStr(uri, config); - } - - /** - * - * 描述: 发送get请求,返回字节数组 - * - * @param uri - * @param config - * @param enableJs - * @return - */ - public static byte[] getBytes(String uri, RequestConfig config, - boolean enableJs) { - return disableJsClient.getBytes(uri, config); - } - - /** - * - * 描述: 发送get请求,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * - * @param uri - * @param config - * @param handler - * @param context - * @return - */ - public static T getT(String uri, RequestConfig config, - ResponseHandler handler, HttpContext context) { - return disableJsClient.getT(uri, config, handler, context); - } - /** * * 描述: 发送post请求,以json方式提交数据,返回字符串 @@ -115,218 +38,4 @@ public static String postJsonStr(String uri, RequestConfig config, String jsonStr) { return disableJsClient.postJsonStr(uri, config, jsonStr); } - - /** - * - * 描述: 发送post请求,以json方式提交数据,返回字节数组 - * - * @param uri - * @param config - * @param jsonStr - * @return - */ - public static byte[] postJsonBytes(String uri, RequestConfig config, - String jsonStr) { - return disableJsClient.postJsonBytes(uri, config, jsonStr); - } - - /** - * - * 描述: 发送post请求,以json方式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * - * @param uri - * @param config - * @param jsonStr - * @param handler - * @param context - * @return - */ - public static T postJsonT(String uri, RequestConfig config, - String jsonStr, ResponseHandler handler, HttpContext context) { - return disableJsClient - .postJsonT(uri, config, jsonStr, handler, context); - } - - /** - * - * 描述: 发送post请求,以form方式提交数据,返回字符串 - * - * @param uri - * @param config - * @param params - * @return - */ - public static String postFormStr(String uri, RequestConfig config, - Map params) { - return disableJsClient.postFormStr(uri, config, params); - } - - /** - * - * 描述: 发送post请求,以form方式提交数据,返回字节数组 - * - * @param uri - * @param config - * @param params - * @return - */ - public static byte[] postFormBytes(String uri, RequestConfig config, - Map params) { - return disableJsClient.postFormBytes(uri, config, params); - } - - /** - * - * 描述: 发送post请求,以form方式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * - * @param uri - * @param config - * @param params - * @param handler - * @param context - * @return - */ - public static T postFormT(String uri, RequestConfig config, - Map params, ResponseHandler handler, - HttpContext context) { - return disableJsClient.postFormT(uri, config, params, handler, context); - } - - /** - * - * 描述: 发送post请求,以流式的方式提交数据,返回字符串 - * - * @param uri - * @param stream - * @param config - * @return - */ - public static String postStreamStr(String uri, InputStream stream, - RequestConfig config) { - return disableJsClient.postStreamStr(uri, stream, config); - } - - /** - * - * 描述: 发送post请求,以流式方式提交数据,返回字节数组 - * - * @param uri - * @param stream - * @param config - * @return - */ - public static byte[] postStreamBytes(String uri, InputStream stream, - RequestConfig config) { - return disableJsClient.postStreamBytes(uri, stream, config); - } - - /** - * - * 描述: 发送post请求,以流式方式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * - * @param uri - * @param stream - * @param config - * @param handler - * @param context - * @return - */ - public static T postStreamT(String uri, InputStream stream, - RequestConfig config, ResponseHandler handler, - HttpContext context) { - return disableJsClient.postStreamT(uri, stream, config, handler, - context); - } - - /** - * - * 描述: 发送post请求,以字节数组形式提交数据,返回字符串 - * - * @param uri - * @param binarys - * @param config - * @return - */ - public static String postBinarysStr(String uri, byte[] binarys, - RequestConfig config) { - return disableJsClient.postBinarysStr(uri, binarys, config); - } - - /** - * - * 描述: 发送post请求,以字节数据形式提交数据,返回字节数组 - * - * @param uri - * @param binarys - * @param config - * @return - */ - public static byte[] postBinarysBytes(String uri, byte[] binarys, - RequestConfig config) { - return disableJsClient.postBinarysBytes(uri, binarys, config); - } - - /** - * - * 描述: 发送post请求,以字节数组形式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * - * @param uri - * @param binarys - * @param config - * @param handler - * @param context - * @return - */ - public static T postBinarysT(String uri, byte[] binarys, - RequestConfig config, ResponseHandler handler, - HttpContext context) { - return disableJsClient.postBinarysT(uri, binarys, config, handler, - context); - } - - /** - * - * 描述: 发送post请求,以multipart形式提交数据,返回字符串 - * - * @param uri - * @param params - * @param config - * @return - */ - public static String postMultipartStr(String uri, - Map params, RequestConfig config) { - return disableJsClient.postMultipartStr(uri, params, config); - } - - /** - * - * 描述: 发送post请求,以multipart形式提交数据,返回字节数组 - * - * @param uri - * @param params - * @param config - * @return - */ - public static byte[] postMultipartBytes(String uri, - Map params, RequestConfig config) { - return disableJsClient.postMultipartBytes(uri, params, config); - } - - /** - * - * 描述: 发送post请求,以multipart形式提交数据,并且用户可以自定义处理器,处理数据,返回自定义结果数据 - * - * @param uri - * @param params - * @param config - * @param handler - * @param context - * @return - */ - public static T postMultipartT(String uri, Map params, - RequestConfig config, ResponseHandler handler, - HttpContext context) { - return disableJsClient.postMultipartT(uri, params, config, handler, - context); - } } diff --git a/java_sdk/src/main/java/com/pier/model/TransactionConfig.java b/java_sdk/src/main/java/com/pier/model/TransactionConfig.java index fe7a3e1..8ba873f 100644 --- a/java_sdk/src/main/java/com/pier/model/TransactionConfig.java +++ b/java_sdk/src/main/java/com/pier/model/TransactionConfig.java @@ -75,8 +75,8 @@ public String toString() { for (Field field : fields) { field.setAccessible(true); builder.append("\"").append(field.getName()).append("\":") - .append("\"").append(field.get(this)).append("\"") - .append(","); + .append("\"").append(field.get(this)).append("\"") + .append(","); } builder.deleteCharAt(builder.length() - 1); builder.append("}"); diff --git a/java_sdk/src/main/java/com/pier/sdk/AbstractSDK.java b/java_sdk/src/main/java/com/pier/sdk/AbstractSDK.java index 5102356..05817f1 100644 --- a/java_sdk/src/main/java/com/pier/sdk/AbstractSDK.java +++ b/java_sdk/src/main/java/com/pier/sdk/AbstractSDK.java @@ -36,7 +36,6 @@ public AbstractSDK(String merchant_id) { @SuppressWarnings("unchecked") @Override public SDKResult transaction(TransactionConfig config) { - // TODO Auto-generated method stub SDKResult result = new SDKResult(); try { config.setMerchant_id(merchant_id); @@ -51,19 +50,18 @@ public SDKResult transaction(TransactionConfig config) { Map map = gson.fromJson(responseJsonStr, new TypeToken>() { }.getType()); - if ("200".equals(map.get("code"))) { - result.setStatus(true); - result.setCode((String) map.get("code")); - result.setMessage((String) map.get("message")); - result.setResult((Map) map.get("result")); - } else { - result.setStatus(false); - result.setCode((String) map.get("code")); - result.setMessage((String) map.get("message")); - result.setResult((Map) map.get("result")); + if("200".equals(map.get("code"))){ + result.setStatus(true); + result.setCode((String) map.get("code")); + result.setMessage((String) map.get("message")); + result.setResult((Map) map.get("result")); + }else{ + result.setStatus(false); + result.setCode((String) map.get("code")); + result.setMessage((String) map.get("message")); + result.setResult((Map) map.get("result")); } } catch (Exception e) { - // TODO: handle exception result.setStatus(false); result.setMessage(e.getMessage()); }