me.chanjar.weixin.common.util.http

## 类 DefaultApacheHttpClientBuilder

- java.lang.Object
- - me.chanjar.weixin.common.util.http.DefaultApacheHttpClientBuilder

所有已实现的接口:
  ApacheHttpClientBuilder

    @NotThreadSafe
    public class DefaultApacheHttpClientBuilder
    extends Object
    implements ApacheHttpClientBuilder

httpclient 连接管理器

作者:
  kakotor

### 嵌套类概要

嵌套类
`static class` `DefaultApacheHttpClientBuilder.IdleConnectionMonitorThread`

### 字段概要

字段
`protected org.slf4j.Logger` `log`

### 方法概要

方法
`org.apache.http.impl.client.CloseableHttpClient` `build()` 构建httpclient实例
`static DefaultApacheHttpClientBuilder` `get()`
`DefaultApacheHttpClientBuilder.IdleConnectionMonitorThread` `getIdleConnectionMonitorThread()`
`ApacheHttpClientBuilder` `httpProxyHost(String httpProxyHost)` 代理服务器地址
`ApacheHttpClientBuilder` `httpProxyPassword(String httpProxyPassword)` 代理服务器密码
`ApacheHttpClientBuilder` `httpProxyPort(int httpProxyPort)` 代理服务器端口
`ApacheHttpClientBuilder` `httpProxyUsername(String httpProxyUsername)` 代理服务器用户名
`void` `setCheckWaitTime(int checkWaitTime)` 检查空间链接的间隔周期,默认60000ms.
`void` `setConnectionRequestTimeout(int connectionRequestTimeout)` 获取链接的超时时间设置,默认3000ms 设置为零时不超时,一直等待.
`void` `setConnectionTimeout(int connectionTimeout)` 建立链接的超时时间,默认为5000ms.由于是在链接池获取链接,此设置应该并不起什么作用 设置为零时不超时,一直等待.
`void` `setIdleConnTimeout(int idleConnTimeout)` 空闲链接的超时时间,默认60000ms.
`void` `setMaxConnPerHost(int maxConnPerHost)` 每路的最大链接数,默认10
`void` `setMaxTotalConn(int maxTotalConn)` 最大总连接数,默认50
`void` `setSoTimeout(int soTimeout)` 默认NIO的socket超时设置,默认5000ms.
`void` `setUserAgent(String userAgent)` 自定义httpclient的User Agent
`ApacheHttpClientBuilder` `sslConnectionSocketFactory(org.apache.http.conn.ssl.SSLConnectionSocketFactory sslConnectionSocketFactory)` ssl连接socket工厂

### 从类继承的方法 java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 字段详细资料

#### log

    protected final org.slf4j.Logger log

### 方法详细资料

#### get

    public static DefaultApacheHttpClientBuilder get()

#### httpProxyHost

    public ApacheHttpClientBuilder httpProxyHost(String httpProxyHost)

从接口复制的说明: `ApacheHttpClientBuilder`
代理服务器地址

指定者:
  `httpProxyHost` 在接口中 `ApacheHttpClientBuilder`

#### httpProxyPort

    public ApacheHttpClientBuilder httpProxyPort(int httpProxyPort)

从接口复制的说明: `ApacheHttpClientBuilder`
代理服务器端口

指定者:
  `httpProxyPort` 在接口中 `ApacheHttpClientBuilder`

#### httpProxyUsername

    public ApacheHttpClientBuilder httpProxyUsername(String httpProxyUsername)

从接口复制的说明: `ApacheHttpClientBuilder`
代理服务器用户名

指定者:
  `httpProxyUsername` 在接口中 `ApacheHttpClientBuilder`

#### httpProxyPassword

    public ApacheHttpClientBuilder httpProxyPassword(String httpProxyPassword)

从接口复制的说明: `ApacheHttpClientBuilder`
代理服务器密码

指定者:
  `httpProxyPassword` 在接口中 `ApacheHttpClientBuilder`

#### sslConnectionSocketFactory

    public ApacheHttpClientBuilder sslConnectionSocketFactory(org.apache.http.conn.ssl.SSLConnectionSocketFactory sslConnectionSocketFactory)

从接口复制的说明: `ApacheHttpClientBuilder`
ssl连接socket工厂

指定者:
  `sslConnectionSocketFactory` 在接口中 `ApacheHttpClientBuilder`

#### setConnectionRequestTimeout

    public void setConnectionRequestTimeout(int connectionRequestTimeout)

获取链接的超时时间设置,默认3000ms

设置为零时不超时,一直等待. 设置为负数是使用系统默认设置(非上述的3000ms的默认值,而是httpclient的默认设置).

参数:
  `connectionRequestTimeout` - 获取链接的超时时间设置(单位毫秒),默认3000ms

#### setConnectionTimeout

    public void setConnectionTimeout(int connectionTimeout)

建立链接的超时时间,默认为5000ms.由于是在链接池获取链接,此设置应该并不起什么作用

设置为零时不超时,一直等待. 设置为负数是使用系统默认设置(非上述的5000ms的默认值,而是httpclient的默认设置).

参数:
  `connectionTimeout` - 建立链接的超时时间设置(单位毫秒),默认5000ms

#### setSoTimeout

    public void setSoTimeout(int soTimeout)

默认NIO的socket超时设置,默认5000ms.

参数:
  `soTimeout` - 默认NIO的socket超时设置,默认5000ms.
另请参阅:
  `SocketOptions`

#### setIdleConnTimeout

    public void setIdleConnTimeout(int idleConnTimeout)

空闲链接的超时时间,默认60000ms.

超时的链接将在下一次空闲链接检查是被销毁

参数:
  `idleConnTimeout` - 空闲链接的超时时间,默认60000ms.

#### setCheckWaitTime

    public void setCheckWaitTime(int checkWaitTime)

检查空间链接的间隔周期,默认60000ms.

参数:
  `checkWaitTime` - 检查空间链接的间隔周期,默认60000ms.

#### setMaxConnPerHost

    public void setMaxConnPerHost(int maxConnPerHost)

每路的最大链接数,默认10

参数:
  `maxConnPerHost` - 每路的最大链接数,默认10

#### setMaxTotalConn

    public void setMaxTotalConn(int maxTotalConn)

最大总连接数,默认50

参数:
  `maxTotalConn` - 最大总连接数,默认50

#### setUserAgent

    public void setUserAgent(String userAgent)

自定义httpclient的User Agent

参数:
  `userAgent` - User Agent

#### getIdleConnectionMonitorThread

    public DefaultApacheHttpClientBuilder.IdleConnectionMonitorThread getIdleConnectionMonitorThread()

#### build

    public org.apache.http.impl.client.CloseableHttpClient build()

从接口复制的说明: `ApacheHttpClientBuilder`
构建httpclient实例

指定者:
  `build` 在接口中 `ApacheHttpClientBuilder`
返回:
  new instance of CloseableHttpClient