httpclient

    HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

 

介绍

编辑
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.5 .6(2015-09-11)

 

功能

编辑
以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。
(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
(2)支持自动转向
(3)支持 HTTPS 协议
(4)支持代理服务器

 

基本功能

编辑
(1) GET方法
使用 HttpClient 需要以下 6 个步骤:
1. 创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理

 

基本功能

编辑
(1) GET方法
使用 HttpClient 需要以下 6 个步骤:
1. 创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理

 

(2)POST方法
根据RFC2616,对POST的解释如下:POST方法用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列(Request-Line)中请求URI所指定资源的附加新子项。POST被设计成用统一的方法实现下列功能:
对现有资源的注释(Annotation of existing resources)
向电子公告栏、新闻组邮件列表或类似讨论组发送消息
提交数据块,如将表单的结果提交给数据处理过程
通过附加操作来扩展数据库
调用HttpClient中的PostMethod与GetMethod类似,除了设置PostMethod的实例与GetMethod有些不同之外,剩下的步骤都差不多

 

常见问题

字符编码,自动转向,处理HTTPS协议

 

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

Apache HTTPCLIENT 官网介绍译文

 

生命的结束

Commons HttpClient项目现在已经结束,不再开发了。它的HttpClient和HttpCore模块中的Apache HttpComponents项目已经取代了它,这两个模块提供了更好的性能和更大的灵活性。

 

------------------------------------------------------------------------------------------------------------------------------------

介绍

超文本传输协议(HTTP)可能是当今互联网上使用的最重要的协议。
Web服务、网络设备和网络计算的发展继续扩大HTTP协议的作用除了用户驱动的Web浏览器,同时增加的数量需要HTTP的应用程序supportAlthough java.net包为通过HTTP访问资源提供了基本的功能,它不提供全面的灵活性或功能,需要由许多应用程序。
Jakarta Commons HttpClient组件通过提供一个高效的、最新的、功能丰富的包来实现最新HTTP标准和建议的客户端,从而填补这一空白。
有关为扩展而设计的标准遵从性和功能的更多细节,请参阅Features页面,同时提供对基本HTTP协议的健壮支持,任何人都可能对HttpClient组件感兴趣。
构建HTTP感知的客户机应用程序,如web浏览器、web服务客户机或利用或扩展HTTP协议fol分布式通信的系统。
有许多项目使用HttpClient来提供核心HTTP功能。
其中一些是开放源码的,带有您可以在web上找到的项目页面,而另一些是您永远不会看到或听说的封闭源码。
Apache源代码许可为源代码和二进制重用提供了最大的灵活性。
请参阅使用HttpClient的项目的应用程序页面。

 

------------------------------------------------------------------------------------------------------------------------------------

历史

HistoryttpClient创建于2001年,是Jakarta Commons的一个子项目,基于Jakarta Slide项目开发的代码。
2004年,它退出了下议院,转而参与雅加达的另一个项目。
2005年,在Jakarta创建了HttpComponents项目,其任务是开发HttpClient 3的继任者。
并维护现有的代码库,直到新的代码库准备好接管为止。
HttpClient的摇篮ommons项目于2007年离开雅加达,成为一个独立的顶级项目。
同年晚些时候,这个ttpComponents项目也离开了Jakarta,成为一个独立的顶级项目,负责维护HttpClient。

(部分内容来源于百度百科) 

posted @ 2019-07-26 19:55  为什么名字都被注册了  阅读(134)  评论(0编辑  收藏  举报