博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
httpclient
阅读量:4960 次
发布时间:2019-06-12

本文共 2748 字,大约阅读时间需要 9 分钟。

    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 和 都使用了 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。

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

转载于:https://www.cnblogs.com/weishenme/p/11252504.html

你可能感兴趣的文章
Fireworks基本使用
查看>>
两台电脑间的消息传输
查看>>
Linux 标准 I/O 库
查看>>
.net Tuple特性
查看>>
Java基础常见英语词汇
查看>>
iOS并发编程笔记【转】
查看>>
08号团队-团队任务5:项目总结会
查看>>
SQL2005 删除空白行null
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
边框圆角Css
查看>>
使用Busybox制作根文件系统
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
大华门禁SDK二次开发(二)-SignalR应用
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>
在使用Kettle的集群排序中 Carte的设定——(基于Windows)
查看>>