1、获取接口定义【自定义RequestHttp】
作用:生成(获取)http请求客户端
1.1获取httpClient 2.获取httpProxy
public interface RequestHttp<H, P> {
/**
* 返回httpClient.CloseableHttpClient是apache的一个类
*
* @return 返回httpClient
*/
H getRequestHttpClient();
/**
* 返回httpProxy.HttpHost 是apache的一个类
* @return 返回httpProxy
*/
P getRequestHttpProxy();
/**
* 返回HttpType.
*
*JODD_HTTP
Jodd提供一个很轻量级、原生的的http客户端,使用起来很简单、方便。它能很方便的发送和接收http消息
HttpClient
Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议
OK_HTTP
一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso) 用于替代HttpUrlConnection和Apache HttpClient
*/
HttpType getRequestType();
}
1.2、接口实现
属性:
private CloseableHttpClient httpClient;
private HttpHost httpProxy;
方法:
public void initHttp() {
//首先、从内存中获取
WxMpConfigStorage configStorage = this.getWxMpConfigStorage();
ApacheHttpClientBuilder apacheHttpClientBuilder = configStorage.getApacheHttpClientBuilder();
//其次、使用默认方式创建
if (null == apacheHttpClientBuilder) {
apacheHttpClientBuilder = DefaultApacheHttpClientBuilder.get();
}
//最后、设置代理
apacheHttpClientBuilder.httpProxyHost(configStorage.getHttpProxyHost())
.httpProxyPort(configStorage.getHttpProxyPort())
.httpProxyUsername(configStorage.getHttpProxyUsername())
.httpProxyPassword(configStorage.getHttpProxyPassword());
if (configStorage.getHttpProxyHost() != null && configStorage.getHttpProxyPort()