@@ -11,13 +11,23 @@ import me.chanjar.weixin.common.exception.WxErrorException; | |||||
/** | /** | ||||
* http请求执行器 | * http请求执行器 | ||||
* @author Daniel Qian | |||||
* | * | ||||
* @param <T> 返回值类型 | * @param <T> 返回值类型 | ||||
* @param <E> 请求参数类型 | * @param <E> 请求参数类型 | ||||
*/ | */ | ||||
public interface RequestExecutor<T, E> { | public interface RequestExecutor<T, E> { | ||||
/** | |||||
* | |||||
* @param httpclient 传入的httpClient | |||||
* @param httpProxy http代理对象,如果没有配置代理则为空 | |||||
* @param uri uri | |||||
* @param data 数据 | |||||
* @return | |||||
* @throws WxErrorException | |||||
* @throws ClientProtocolException | |||||
* @throws IOException | |||||
*/ | |||||
public T execute(CloseableHttpClient httpclient, HttpHost httpProxy, String uri, E data) throws WxErrorException, ClientProtocolException, IOException; | public T execute(CloseableHttpClient httpclient, HttpHost httpProxy, String uri, E data) throws WxErrorException, ClientProtocolException, IOException; | ||||
} | } |
@@ -25,6 +25,7 @@ import org.apache.http.auth.AuthScope; | |||||
import org.apache.http.auth.UsernamePasswordCredentials; | import org.apache.http.auth.UsernamePasswordCredentials; | ||||
import org.apache.http.client.ClientProtocolException; | import org.apache.http.client.ClientProtocolException; | ||||
import org.apache.http.client.CredentialsProvider; | import org.apache.http.client.CredentialsProvider; | ||||
import org.apache.http.client.config.RequestConfig; | |||||
import org.apache.http.client.methods.CloseableHttpResponse; | import org.apache.http.client.methods.CloseableHttpResponse; | ||||
import org.apache.http.client.methods.HttpGet; | import org.apache.http.client.methods.HttpGet; | ||||
import org.apache.http.impl.client.BasicCredentialsProvider; | import org.apache.http.impl.client.BasicCredentialsProvider; | ||||
@@ -85,6 +86,10 @@ public class WxCpServiceImpl implements WxCpService { | |||||
+ "&corpsecret=" + wxCpConfigStorage.getCorpSecret(); | + "&corpsecret=" + wxCpConfigStorage.getCorpSecret(); | ||||
try { | try { | ||||
HttpGet httpGet = new HttpGet(url); | HttpGet httpGet = new HttpGet(url); | ||||
if (httpProxy != null) { | |||||
RequestConfig config = RequestConfig.custom().setProxy(httpProxy).build(); | |||||
httpGet.setConfig(config); | |||||
} | |||||
CloseableHttpClient httpclient = getHttpclient(); | CloseableHttpClient httpclient = getHttpclient(); | ||||
CloseableHttpResponse response = httpclient.execute(httpGet); | CloseableHttpResponse response = httpclient.execute(httpGet); | ||||
String resultContent = new BasicResponseHandler().handleResponse(response); | String resultContent = new BasicResponseHandler().handleResponse(response); | ||||
@@ -24,6 +24,7 @@ import org.apache.http.auth.AuthScope; | |||||
import org.apache.http.auth.UsernamePasswordCredentials; | import org.apache.http.auth.UsernamePasswordCredentials; | ||||
import org.apache.http.client.ClientProtocolException; | import org.apache.http.client.ClientProtocolException; | ||||
import org.apache.http.client.CredentialsProvider; | import org.apache.http.client.CredentialsProvider; | ||||
import org.apache.http.client.config.RequestConfig; | |||||
import org.apache.http.client.methods.CloseableHttpResponse; | import org.apache.http.client.methods.CloseableHttpResponse; | ||||
import org.apache.http.client.methods.HttpGet; | import org.apache.http.client.methods.HttpGet; | ||||
import org.apache.http.client.methods.HttpPost; | import org.apache.http.client.methods.HttpPost; | ||||
@@ -75,6 +76,10 @@ public class WxMpServiceImpl implements WxMpService { | |||||
; | ; | ||||
try { | try { | ||||
HttpGet httpGet = new HttpGet(url); | HttpGet httpGet = new HttpGet(url); | ||||
if (httpProxy != null) { | |||||
RequestConfig config = RequestConfig.custom().setProxy(httpProxy).build(); | |||||
httpGet.setConfig(config); | |||||
} | |||||
CloseableHttpClient httpclient = getHttpclient(); | CloseableHttpClient httpclient = getHttpclient(); | ||||
CloseableHttpResponse response = httpclient.execute(httpGet); | CloseableHttpResponse response = httpclient.execute(httpGet); | ||||
String resultContent = new BasicResponseHandler().handleResponse(response); | String resultContent = new BasicResponseHandler().handleResponse(response); | ||||