HttpClient4.5中文教程
参考了官网的用户指南完成的HttpClient4.5教程。
chenjazz
123456789
展开
-
【HttpClient4.5中文教程】一.HttpClient简介与HTTP简介
1.HttpClient 简介超文本传输协议(HTTP)也许是当今互联网上所使用的最重要的协议了。Web services,联网设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的Web浏览器范畴,同时,也增加了需要HTTP协议支持的应用程序的数量。尽管java.net包提供了通过HTTP访问资源的基本功能,但它缺少足够的灵活性和其它很多应用程序需要的功能。HttpClient通...原创 2015-07-29 11:01:58 · 14762 阅读 · 16 评论 -
【HttpClient4.5中文教程】二.构建开发环境
本系列教程使用maven开发,依赖为: org.apache.httpcomponents httpclient 4.5.4原创 2015-07-29 18:05:37 · 11911 阅读 · 6 评论 -
【HttpClient4.5中文教程】三.HttpClient执行基本请求
更多HttpClient4.5中文教程请查看:点击打开链接==================================HttpClient最基本的功能是执行HTTP方法,一次 HTTP 方法的执行包含一个或多个 HTTP 请求/响应的交互,通常由 HttpClient的内部来处理。使用者需要提供一个Request对象来执行HTTP请求,HttpClient就会把请求传送给目标服务器并返回一原创 2015-07-30 12:51:57 · 11166 阅读 · 12 评论 -
【HttpClient4.5中文教程】四. HttpClient接口简介
更多HttpClient4.5中文教程请查看目录:点击打开链接===================================================1. HttpClient接口简介HttpClient代表HTTP请求执行的最基本约定。它没有强加限制或具体细节给请求执行过程,它保留了连接管理,状态管理,认证,重定向等处理细节的个人实现。使用额外的功能来装饰这个接口是非常容易的,比如原创 2015-08-03 09:53:00 · 6434 阅读 · 4 评论 -
【HttpClient4.5中文教程】五. HttpClient执行上下文HttpContext
最初,HTTP是被设计成无状态的,面向请求-响应的协议。然而,现实世界中的应用程序经常需要通过一些逻辑相关的请求-响应交换来保持状态信息。 为了使应用程序能够维持一个过程状态, HttpClient允许HTTP请求在一个特定的执行上下文中来执行--称为HTTP上下文。如果相同的上下文在连续请求之间重用,那么多种逻辑相关的请求可以参与到一个逻辑会话中。HTTP上下文功能和java.util.Map很原创 2015-08-04 17:10:42 · 10919 阅读 · 2 评论 -
【HttpClient4.5中文教程】六. HTTP协议拦截器
HTTP协议拦截器是一个实现了HTTP协议特定方面的程序。通常协议拦截器将作用于报文的一个特定的首部或一组相关的首部。或者添加一个特定的首部或一组相关的首部到将要发送的报文中。协议拦截器也可以操作报文内含的实体--显而易见的内容解压/压缩就是一个好的例子。包装实体类使用了装饰模式对原始的实体进行装饰。几个协议拦截器能够结合构成一个逻辑单元。协议拦截器能够通过共享信息来合作--比如处理状态--通过H原创 2015-10-10 12:54:05 · 4507 阅读 · 0 评论 -
【HttpClient4.5中文教程】七. 异常处理
HttpClient 能够抛出两种类型的异常:1)java.io.IOException :在 I/O 失败时,如socket连接超时或被重置的异常;2)HttpException:标志 HTTP 请求失败的信号,如违反 HTTP 协议。通常 I/O 错误被认为是非致命的和可以恢复的,而 HTTP 协议错误,则被认为是致命的而且是不能自动恢复的。请注意HttpClient实现了可抛出异常HttpE原创 2015-10-10 13:03:37 · 5163 阅读 · 6 评论 -
【HttpClient4.5中文教程】八.终止请求和重定向处理
1.终止请求在一些情况下,由于目标服务器的高负载或客户端有很多同时的请求发出,那么 HTTP 请求会在预期的时间内执行失败。 这时,有必要过早地中止请求,解除在 I/O 执行中的线程锁。 HttpClient 执行时,可以在任意阶段通过调用HttpUriRequest#abort()方法中止请求。 这个方法是线程安全的,而且可以从任意线程中调用。当一个 HTTP 请求被中止时,它的执行线程--就封原创 2015-10-10 13:10:38 · 4558 阅读 · 0 评论 -
【HttpClient4.5中文教程】九.HttpClient的连接管理1
1. 连接持久化两个主机之间建立连接的过程是很复杂的,包括了两个终端之间许多数据包的交换,会消耗了大量时间。对于很小的HTTP报文传输,上层连接的握手也是必须的【译者:上层连接指的是TCP/IP连接】。如果已有的连接能够重复使用,来执行多个请求,将会加大你程序的数据吞吐量。HTTP/1.1 默认HTTP连接可以重复地执行多次请求。符合HTTP/1.0的终端,也可以使用某些机制来明确地表达为多次请求原创 2016-01-14 15:03:03 · 3495 阅读 · 2 评论 -
【HttpClient4.5中文教程】十.HttpClient连接管理2
4.请求执行的多线程当配备连接池管理器时,比如 PoolingClientConnectionManager, HttpClient 可以被用使用多线程来同时执行多个请求。PoolingClientConnectionManager将会基于它的配置来分配连接。如果对于给定路由的所有连接都被使用了,那么连接的请求将会阻塞,直到一个连接被释放回连接池。 它可以通过设置'http.conn-manage原创 2016-01-14 16:10:49 · 5794 阅读 · 0 评论 -
【HttpClient4.5中文教程】十一. 状态管理(Cookie相关)
原始的 HTTP 是被设计为无状态的,面向请求/响应的协议,没有特别对一些逻辑相关的请求/响应交换的设置会话状态。 由于 HTTP 协议变得越来越普及和受欢迎,越来越多的从前没有打算使用它的系统也开始为应用程序来使用它,比如作为电子商务应用程序的传输。因此,支持状态管理就变得非常必要了。网景公司,一度成为 Web 客户端和服务器软件开发者的领导方向,在它们基于专有规范的产品中实现了对 HTTP 状原创 2016-01-14 16:47:23 · 10243 阅读 · 0 评论 -
【HttpClient4.5中文教程】十二.使用HttpClient流畅风格的API
HttpClient 4.2 中 简化了基于流畅风格的外观API。如果你不需要HttpClient丰富的灵活性,流畅风格API提供了HttpClient中最基础的方法,使用简单。比如:流畅风格API简化了使用者处理连接管理器和分配资源。下面有几个例子:// Execute a GET with timeout settings and return response content as Stri原创 2016-01-14 16:49:28 · 4719 阅读 · 0 评论 -
【HttpClient4.5中文教程】其他章节及总结
第四章 认证,第六章 HTTP缓存 ,第七章 高级主题 相对于其他章节来说没那么重要,所以暂且不译。部分章节翻译PDF版下载地址(待更新)原创 2016-01-14 17:17:16 · 2545 阅读 · 0 评论 -
【HttpClient4.5中文教程】
待更新原创 2015-07-31 16:40:04 · 5559 阅读 · 3 评论