diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java index b278be92..8f580055 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/SimpleHttpClient.java @@ -105,17 +105,17 @@ public class SimpleHttpClient extends AbstractHttpClient implements HttpClient { HttpHeaders headers = request.getHeaders(); if (headers == null) { headers = new HttpHeaders(); - if (!headers.containsKey(HttpHeaders.HOST)) { - headers.set(HttpHeaders.HOST, request.getURI().getHost()); - } - // Add default accept headers - if (!headers.containsKey(HttpHeaders.ACCEPT)) { - headers.set(HttpHeaders.ACCEPT, "*/*"); - } - // Add default user agent - if (!headers.containsKey(HttpHeaders.USER_AGENT)) { - headers.set(HttpHeaders.USER_AGENT, "jdk/httpclient"); - } + } + if (!headers.containsKey(HttpHeaders.HOST)) { + headers.set(HttpHeaders.HOST, request.getURI().getHost()); + } + // Add default accept headers + if (!headers.containsKey(HttpHeaders.ACCEPT)) { + headers.set(HttpHeaders.ACCEPT, "*/*"); + } + // Add default user agent + if (!headers.containsKey(HttpHeaders.USER_AGENT)) { + headers.set(HttpHeaders.USER_AGENT, "jdk/httpclient"); } for (Iterator>> headerIterator = headers .entrySet().iterator(); headerIterator.hasNext();) { diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java index e61ecedf..8527452a 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinRequestExecutor.java @@ -12,7 +12,6 @@ import com.foxinmy.weixin4j.http.HttpMethod; import com.foxinmy.weixin4j.http.HttpParams; import com.foxinmy.weixin4j.http.HttpRequest; import com.foxinmy.weixin4j.http.HttpResponse; -import com.foxinmy.weixin4j.http.HttpStatus; import com.foxinmy.weixin4j.http.apache.FormBodyPart; import com.foxinmy.weixin4j.http.apache.HttpMultipartMode; import com.foxinmy.weixin4j.http.apache.MultipartEntity; @@ -97,10 +96,8 @@ public class WeixinRequestExecutor { request.setParams(params); try { HttpResponse httpResponse = httpClient.execute(request); - HttpStatus status = httpResponse.getStatus(); HttpHeaders headers = httpResponse.getHeaders(); - WeixinResponse response = new WeixinResponse(headers, status, - httpResponse.getBody()); + WeixinResponse response = new WeixinResponse(httpResponse); String contentType = headers.getFirst(HttpHeaders.CONTENT_TYPE); String disposition = headers .getFirst(HttpHeaders.CONTENT_DISPOSITION); diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java index 55b06cc0..f9d93e92 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/weixin/WeixinResponse.java @@ -1,14 +1,13 @@ package com.foxinmy.weixin4j.http.weixin; -import java.io.IOException; import java.io.InputStream; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.foxinmy.weixin4j.http.HttpHeaders; +import com.foxinmy.weixin4j.http.HttpResponse; import com.foxinmy.weixin4j.http.HttpStatus; -import com.foxinmy.weixin4j.util.IOUtil; import com.foxinmy.weixin4j.util.StringUtil; import com.foxinmy.weixin4j.xml.XmlStream; @@ -18,15 +17,10 @@ public class WeixinResponse { private boolean isXmlResult; private volatile String text; - private final HttpHeaders headers; - private final HttpStatus status; - private final InputStream body; + private final HttpResponse response; - public WeixinResponse(HttpHeaders headers, HttpStatus status, - InputStream body) { - this.headers = headers; - this.status = status; - this.body = body; + public WeixinResponse(HttpResponse response) { + this.response = response; } public void setJsonResult(boolean isJsonResult) { @@ -39,12 +33,7 @@ public class WeixinResponse { public String getAsString() { if (text == null) { - try { - text = StringUtil.newStringUtf8(IOUtil.toByteArray(body)); - } catch (IOException e) { - e.printStackTrace(); - ; - } + text = StringUtil.newStringUtf8(response.getContent()); } return text; } @@ -78,14 +67,14 @@ public class WeixinResponse { } public HttpHeaders getHeaders() { - return headers; + return response.getHeaders(); } public HttpStatus getStatus() { - return status; + return response.getStatus(); } public InputStream getBody() { - return body; + return response.getBody(); } }