【HttpClient4.5中文教程】四. HttpClient接口简介

更多HttpClient4.5中文教程请查看目录:点击打开链接

===================================================

1. HttpClient接口简介

HttpClient代表HTTP请求执行的最基本约定。它没有强加限制或具体细节给请求执行过程,它保留了连接管理,状态管理,认证,重定向等处理细节的个人实现。使用额外的功能来装饰这个接口是非常容易的,比如设置响应体缓存。

HttpClient实现作为特殊目的的处理器或策略接口的门面,负责处理HTTP协议特定的方面,比如重定向处理,认证处理,为连接持久化做决定或者保持持续连接。这使得用户很容易使用自定义的实现来取代那些默认的实现。

ConnectionKeepAliveStrategy keepAliveStrat = new DefaultConnectionKeepAliveStrategy() {
@Override
public long getKeepAliveDuration(HttpResponse response,HttpContext context) {
       long keepAlive = super.getKeepAliveDuration(response, context);
       if (keepAlive == -1) {
        // 如果keep-alive的值内有被服务器明确设置,保持持续连接5秒
       keepAlive = 5000;
    }
    return keepAlive;
  }
};
CloseableHttpClient httpclient = HttpClients.custom().setKeepAliveStrategy(keepAliveStrat).build();


2. HttpClient线程安全

HttpClient的实现是线程安全的。对于不同的请求执行(允许在多个线程内),这个类的相同实例是可复用的。


3. HttpClient资源释放

当一个HttpClient实例不再需要时并且它不在连接管理器之内时,必须通过CloseableHttpClient#close()方法关闭。

CloseableHttpClient httpclient = HttpClients.createDefault();
try {
    <...>
} finally {
    httpclient.close();
}



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值