组件通过代码示例学习Commons HTTPClient4组件的编程技术和应用实例

httpclient4  时间:2021-01-29  阅读:()

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

目录

1.1 Commons HTTPClient4组件编程技术和应用实例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.1.1 为什么要提出HTTPC lie nt4组件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.1.2 HttpClient4组件是Apache Jakarta Commons中的一个子项目. . . . . . . . . . . . . . . . . . . . .2

1.1.3 HttpClient4组件为开发Web浏览器、Web Service客户端提供了很大的便利

3

1.1.4 下载与应用HTTPC lie nt4组件有关的各个系统库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.1.5 将相关的系统库文件分别放入到项目的classPath目录中. . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.1.6 与HttpC lie nt4组件有关的在线教程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

杨教授工作室版权所有盗版必究 1/7页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

1. 1 Commons HTTPClient4组件编程技术和应用实例

1. 1. 1为什么要提出HTTPClient4组件

1、解决如何在应用程序中直接访问Web服务器中的目标资源的问题

在访问Web服务器中的目标资源时一般是采用标准的浏览器程序实现并以HTTP协议向web服务器发送请求。但目前越来越多的Java客户端应用程序需要直接通过HTTP协议访问Web服务器中的目标资源——比如RIA中的应用程序客户端程序、手机App应用程序等。

2、常规的访问方式是应用J2SDK中的java.net包中URL和URLConnection类

1 java.net包中URL和URLConnection类的给你说明

2 java.net包API在应用中主要存在的问题

虽然在J2SDK的java.net包中已经提供了访问HTTP协议的基本功能但是对于大部分应用程序来说 J2SDK系统库中所提供的功能不够丰富、在应用中也不灵活方便、所提供的功能也不完善。

1. 1.2 HttpClient4组件是Apache Jakarta Commons中的一个子项目

1、 HttpClient4组件所提供的主要功能

它为开发人员提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包而HttpClient4组件其实是一个客户端Http传输功能的系统类库开发人员应用它可以实现传输和接收Http消息等方面的功能。

Commons-HttpClient项目就是专门设计并用来简化HTTP客户端与服务器进行各种通讯编程实现的——它能实现常规的HTTP客户端程序也就是浏览器程序的各种功能。但HttpClient4组件不提供对内容的缓存技术支持也不执行Web页面中内嵌的JavaScript脚本等与Http传输无关的工作。

杨教授工作室版权所有盗版必究 2/7页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

2、 HttpClient4组件所提供的主要功能体现如下

1实现了http1.0和1. 1版中的全部方法GET、 POST、 PUT、 DELETE、 HEAD、 OPTIONS和TRACE和支持Cookie

2支持HTTPS的加密操作并透明地穿过HTTP代理建立连接

3支持利用Basic、 Digest和NTLM加密的认证、支持用于上传大文件的Multi-Part表单POST方法

4不仅能够直接将请求信息流送到服务器的端口也能够直接读取从服务器的端口送出的应答信息直接访问由服务器送出的应答代码和头部信息

5支持HTTP/1.0中用KeepAlive和HTTP/1. 1中用persistance设置的持久连接6可设置连接超时时间并且其中的HttpMethods允许并行请求或高效连接复用。

1. 1.3 HttpClient4组件为开发Web浏览器、 Web Service客户端提供了很大的便利

1、常见的应用程序客户端系统

在PC机中目前有许多应用程序客户端系统尽管它们不一定都采用J2EE相关的技术实现但都需要与相关的Web服务器进行数据通讯。如下为常见的PC应用程序客户端系统的截图。

2、 Google的在线翻译系统

自动获得目标页面的内容并自动地进行在线翻译。

杨教授工作室版权所有盗版必究 3/7页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

3、 Google的Android SDK

在Android SDK中全面应用HttpClient4组件为手机App操作和访问Web服务器提供相关的技术支持可以浏览http://androidappdocs.appspot.com/sdk/index.html进一步了解。

1. 1.4下载与应用HTTPClient4组件有关的各个系统库

1、首先下载Commons-HTTPClient4组件及有关的系统库文件

可以在Apache的官方网站中下载Commons-HTTPClient4组件中的主要系统库文件httpclient-4.0.3. jar 和 httpmime-4.0.3. jar 、 httpcore-4.0. jar 和httpcore-nio-4.0. jar。并加入到项目的classpath 中——对于Web应用程序则为WEB-INF/l ib目录中。

注意

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

应该要下载Binarywith dependencies版本这样能够获得全部的系统库文件。当然如果读者需要深入地了解Commons-HTTPClient4组件技术实现的细节也可以下载相关的源程序和API使用文档。

2、还需要commons-codec-1.3. jar文件

在HttpClient4组件中还应用了Apache Jakarta common下的另一个子项目codec因此也还需要下载commons-codec-1.3. jar的系统文件。读者可以从下图所示的地址下载到最新的common codec系统库从下载后的压缩包中取出commons-codec-1.x. jar的系统库文件并加入到项目的classpath中——对于Web应用程序则为WEB-INF/lib目录中。

如果在应用中缺少commons-codec-1.3. jar系统库文件在应用HttpClient4组件时将 会 出 现 下 面 的 异 常 错 误 信 息  NoClassDefFoundErrororg/apache/commons/codec/DecoderException

3、当然也还需要Common-logging日志功能组件

HttpClient4组件还用到了Apache Jakarta common下的子项目 logging可以下载common logging从下载后的压缩包中取出commons-logging. jar加到项目的classpath中——对于Web应用程序则为WEB-INF/l ib目录中。

4、如果需要实现文件上传还需要apache-mime4j-0.6. jar

Apache Mime4J是一个灵活的用来解析邮件MIME的Java类库在应用HttpClient4组件的系统程序中如果需要实现文件上传的功能也还需要下载apache-mime4j-0.6. jar的系统库文件。读者可以从http://james.apache.org/mime4j/start/download.html下载相关的系统库文件。

杨教授工作室版权所有盗版必究 5/7页

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

1. 1.5将相关的系统库文件分别放入到项目的classPath目录中

1、在J2SE的应用程序项目中应用HttpClient4组件

如果是开发J2SE的应用程序项目可以将与HttpClient4组件相关的各个系统库文件放入开发工具的编译环境中如下图所示的截图。

2、在J2EE Web项目中应用HttpClient4组件

如果是开发J2EE Web的应用程序项目可以将与HttpClient4组件相关的各个系统库文件放入Web项目的WEB-INF/l ib目录中如下图所示的截图。

1. 1.6与HttpClient4组件有关的在线教程

可以从http://hc.apache.org/httpcomponents-client-ga/tutorial/html/页面中下载与HttpClient4组件相关的在线教程如下图所示的截图。

杨教授工作室精心创作的优秀程序员职业提升必读系列资料

华纳云CN2高防1810M带宽独享,三网直cn218元/月,2M带宽;独服/高防6折购

华纳云怎么样?华纳云是香港老牌的IDC服务商,成立于2015年,主要提供中国香港/美国节点的服务器及网络安全产品、比如,香港服务器、香港云服务器、香港高防服务器、香港高防IP、美国云服务器、机柜出租以及云虚拟主机等。以极速 BGP 冗余网络、CN2 GIA 回国专线以及多年技能经验,帮助全球数十万家企业实现业务转型攀升。华纳云针对618返场活动,华纳云推出一系列热销产品活动,香港云服务器低至3折,...

提速啦 韩国服务器 E3 16G 3IP 450元/月 韩国站群服务器 E3 16G 253IP 1100元/月

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

hypervmart:英国/荷兰vps,2核/3GB内存/25GB NVMe空间/不限流量/1Gbps端口/Hyper-V,$10.97/季

hypervmart怎么样?hypervmart是一家国外主机商,成立于2011年,提供虚拟主机、VPS等,vps基于Hyper-V 2012 R2,宣称不超售,支持linux和windows,有荷兰和英国2个数据中心,特色是1Gbps带宽、不限流量。现在配置提高,价格不变,性价比提高了很多。(数据中心不太清楚,按以前的记录,应该是欧洲),支持Paypal付款。点击进入:hypervmart官方网...

httpclient4为你推荐
盗版win8.1升级win10盗版win8怎么升级到win10正版滚筒洗衣机和波轮洗衣机哪个好一分钟看懂滚筒洗衣机和波轮洗衣机 滚筒洗衣机和波轮洗衣机哪个好电脑管家和360哪个好腾讯电脑管家和360安全卫士哪个更好电脑杀毒软件哪个好电脑杀毒软件那个最好??手机浏览器哪个好手机浏览器哪个好用等额本息等额本金哪个好等额本金和等额本息哪个划算?如果想在5-10年内还清贷款哪类更划算一些?车险哪个好人保和平安车险哪个好美国国际集团世界五百强企业前五十名是哪些?美国国际东西方大学凭高考成绩可以申请哪些海外大学?51个人空间登录51个人空间怎么申请???
个人注册域名 免费linux主机 网站域名备案查询 arvixe 香港机房 北京双线机房 卡巴斯基免费试用 银盘服务是什么 架设邮件服务器 贵阳电信 学生服务器 测速电信 godaddy空间 卡巴斯基官网下载 免费主页空间 石家庄服务器 japanese50m咸熟 湖南铁通 跟踪路由 ddos攻击器下载 更多