- 浏览: 1064319 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (501)
- dwr (6)
- javascript (84)
- oracle (66)
- jsp/servlet (18)
- ant (3)
- 基础知识 (12)
- EXT (10)
- My SQL (10)
- java (71)
- spring (37)
- 学习的对象 (2)
- Linux (24)
- 面试 (1)
- HTML/CSS (11)
- tomcat (11)
- 收藏夹 (2)
- Power Designer (2)
- struts.xml配置文件 (1)
- sturts2 (3)
- myeclipse (8)
- eclipse (7)
- Maven (34)
- SVN (3)
- SAP JCO (2)
- JBOSS (11)
- webservice (8)
- word (1)
- 敏捷开发 (1)
- sybase (4)
- Nexus (3)
- EhCache (3)
- log4j (3)
- Cookie (4)
- Session (4)
- CXF (7)
- AXIS (2)
- SSO (1)
- LDAP (1)
- velocity (2)
- Jquery (5)
- redis (2)
- http (4)
- dojo (1)
- Linux资源监控软件mnon的安装与运用 (1)
- notepad++ (1)
- EA (1)
- UML (1)
- JasperReports (1)
- 权限 (0)
- freemarker (4)
- Spring MVC (1)
- JMS (1)
- activeMQ (1)
- hession (3)
- 安全 (1)
- ibatis (2)
- log (1)
- nginx (1)
最新评论
-
winhbb:
我刚好遇到了一个问题(在可以依赖注入的场合有效):有两个模块A ...
解决Maven项目相互依赖/循环依赖/双向依赖的问题 -
nanjiwubing123:
long3ok 写道你好 XmlOutputFormatter ...
用XStream转换复杂XML -
zhoujianboy:
另外一个方法实现eclipse tomcat 热部署:http ...
eclipse下实现maven项目在tomcat容器热部署方法 -
long3ok:
你好 XmlOutputFormatter 请问这个类是在什么 ...
用XStream转换复杂XML -
ganbo:
总结的好,文章给力。
解决Maven项目相互依赖/循环依赖/双向依赖的问题
HttpClient Redirects Handling
简介
这份文档简单介绍下HttpClient手动处理重定向功能。
因为某些原因,比如需要人工的支持或者HttpClient不支持又或者网络的限制(如需要特殊的权限才可以访问的资源),有些类型的重定向是HttpClient不能自动处理的。当前版本的HttpClient不能够自动处理POST和PUT方法的重定向。
手动处理重定向
介于300和399之间的状态码,都代表重定向。最常见的重定向状态码如下:
· 301 HttpStatus.SC_MOVED_PERMANENTLY,永久移除。
· 302 HtpStatus.SC_MOVED_TEMPORARILY,暂时移除。
· 303 HttpStatus.SC_SEE_OTHER,重定向到其他资源。
· 307 HttpStatus.SC_TEMPORARY_REDIRECT,临时重定向。
注意:有些3XX的状态码并不只是简单给发送请求标识一个不同的URL。这些状态码需要应用自行处理。
当应用程序收个一个简单的重定向Responses时,必须用新的URL去执行HttpMethod的executeMethod方法,重新下载新URL对应的资源。通常,我们采用递归的方式去处理重定向,以防有多个重定向,不过要加标识数去结束你的递归。
当得到新的Location以后,你可以对待一个新的URL一样,使用HttpClient去请求对应的资源。
【转载地址】http://blog.csdn.net/mgoann/article/details/4058756
简介
这份文档简单介绍下HttpClient手动处理重定向功能。
因为某些原因,比如需要人工的支持或者HttpClient不支持又或者网络的限制(如需要特殊的权限才可以访问的资源),有些类型的重定向是HttpClient不能自动处理的。当前版本的HttpClient不能够自动处理POST和PUT方法的重定向。
手动处理重定向
介于300和399之间的状态码,都代表重定向。最常见的重定向状态码如下:
· 301 HttpStatus.SC_MOVED_PERMANENTLY,永久移除。
· 302 HtpStatus.SC_MOVED_TEMPORARILY,暂时移除。
· 303 HttpStatus.SC_SEE_OTHER,重定向到其他资源。
· 307 HttpStatus.SC_TEMPORARY_REDIRECT,临时重定向。
注意:有些3XX的状态码并不只是简单给发送请求标识一个不同的URL。这些状态码需要应用自行处理。
当应用程序收个一个简单的重定向Responses时,必须用新的URL去执行HttpMethod的executeMethod方法,重新下载新URL对应的资源。通常,我们采用递归的方式去处理重定向,以防有多个重定向,不过要加标识数去结束你的递归。
String redirectLocation; Header locationHeader = method.getResponseHeader("location"); if (locationHeader != null) { redirectLocation = locationHeader.getValue(); } else { // The response is invalid and did not provide the new location for // the resource. Report an error or possibly handle the response // like a 404 Not Found error. } String redirectLocation; Header locationHeader = method.getResponseHeader("location"); if (locationHeader != null) { redirectLocation = locationHeader.getValue(); } else { // The response is invalid and did not provide the new location for // the resource. Report an error or possibly handle the response // like a 404 Not Found error. }
当得到新的Location以后,你可以对待一个新的URL一样,使用HttpClient去请求对应的资源。
【转载地址】http://blog.csdn.net/mgoann/article/details/4058756
发表评论
-
个人草稿使用
2017-08-19 09:02 0深入理解JVM: http://www.cnblogs.co ... -
Thread.setDaemon详解
2015-04-24 21:31 904java中线程分为两种类型:用户线程和守护线程。通过Threa ... -
怎么使用 ConcurrentHashMap 才能是线程安全的?
2015-04-13 11:54 1508public class test { public ... -
21,tomcat关闭钩子
2014-12-31 10:36 727在很多环境下,在关闭应用程序的时候需要做一些清理工作。问题在于 ... -
Java NIO使用及原理分析 (一) 【转载】
2014-10-24 00:04 490【转载】: http://blog.csdn.net/wuxi ... -
Java 两个集合取交集
2014-10-14 21:16 3135public static Set intersectionS ... -
Calendar类roll和add的区别
2014-10-10 22:28 495import java.text.SimpleDateForm ... -
Gson通过借助TypeToken获取泛型参数的类型的方法
2014-09-30 00:26 631[size=medium]最近在使用Goo ... -
HashMap的遍历效率讨论
2014-09-27 20:41 833经常遇到对HashMap中的key和value值对的遍历操作, ... -
Java 泛型
2014-06-26 12:44 858关键字说明 ? 通配符类型 <? extends T&g ... -
Java泛型集合的理解
2014-06-26 00:05 508[size=medium]什么是泛型? 泛型(Generic ... -
关于java字节码框架ASM的学习
2014-06-19 19:22 891一、什么是ASM ASM是一个java字节码操纵框架, ... -
Java动态代理详解
2014-06-19 17:41 862Java动态代理详解: http: ... -
Java内存,字符串文章收集
2014-06-18 16:24 733java--String常量池问题的几个例子 . http:/ ... -
Java内存解析
2014-06-18 11:48 779栈、堆、常量池等虽同 ... -
Java的堆与非堆内存
2014-01-07 10:59 719堆(Heap)和非堆(Non-heap)内存 按照官方的说法: ... -
JMX 资料收集
2014-01-07 10:53 460JavaSky的专栏 http://blog.csdn.net ... -
JAVA 注解示例 详解
2013-11-12 09:36 825注解(Annotation) 为我们在代码中天界信息提供了 ... -
Java 泛型详解
2013-11-11 22:35 822http://www.360doc.com/content/1 ... -
Java中的Enum的使用与分析
2013-11-09 12:49 822enum枚举类型:在实际问 ...
相关推荐
当HttpClient发起一个GET或POST请求,如果服务器返回的状态码表明需要进行重定向(例如301、302),HttpClient会自动处理重定向,即它会自动发送新的请求到重定向的目标URL,并返回那个URL的响应内容。然而,如果...
HttpClient库允许开发者执行各种HTTP方法(如GET、POST、PUT等),处理重定向、认证、cookie管理等复杂网络交互,同时提供了线程安全和高效的连接管理机制。这个库在处理Web服务API、爬虫程序或任何需要与HTTP服务器...
3. 重定向处理:HttpClient可以自动处理重定向,也可以自定义重定向策略。 4. 请求与响应处理:通过EntityUtils可以方便地处理请求和响应的实体内容,如读取、写入、转换等。 5. 异步请求:HttpClient提供异步执行...
3. **重定向处理**:HttpClient可以自动处理HTTP状态码3xx的重定向,也可以手动控制是否跟随重定向。 4. **请求和响应处理**:通过HttpEntity和HttpEntityEnclosingRequest接口,HttpClient支持各种类型的请求实体...
- 可以通过设置RedirectStrategy来控制HttpClient如何处理重定向,比如是否自动跟随重定向。 7. **Cookie管理**: - HttpClient内置了CookieSpec和CookieStore,用于处理服务器返回的cookies和发送cookies到...
- **灵活性**:与标准库提供的简单HTTP支持相比,HttpClient提供了更多高级特性,比如Cookie管理和自动重定向等,使得开发者可以更灵活地控制HTTP交互行为。 ##### 2.2 HttpClient的功能范围 - **HTTP协议支持**:...
6. **重定向处理**:HttpClient 4.3提供自动处理HTTP重定向的能力,可以根据需要配置是否遵循重定向以及重定向的最大次数。 7. **认证和安全**:HttpClient支持基本认证、NTLM、Kerberos等多种认证机制,并且可以...
HttpClient默认会自动处理重定向,但你可以通过配置`RedirectStrategy`来改变这一行为。 7. **错误处理**: 当请求失败时,HttpClient会抛出异常,如`IOException`或`ClientProtocolException`。在实际应用中,...
3. **重定向处理**:HttpClient可以自动处理服务器返回的重定向响应,开发者可以通过设置策略控制是否自动跟随重定向,以及最大重定向次数。 4. **HTTPS支持**:HttpClient 4.1.2支持SSL/TLS,可以处理HTTPS连接,...
6. **重定向处理**:HttpClient可以自动处理HTTP状态码为3xx的重定向响应,也可以由开发者手动控制重定向行为。 7. **请求/响应拦截器**:HttpClient提供了请求和响应拦截器接口,允许在请求发送前和响应接收后进行...
7. **重试和重定向策略**:HttpClient 4.2.1允许开发者定制重试和重定向策略。`HttpRequestRetryHandler`和`RedirectStrategy`接口提供了相应的控制。 8. **HTTP实体**:HttpClient 4.2.1支持各种类型的HTTP实体,...
HttpClient 3.1是其早期的一个稳定版本,支持HTTP/1.1协议,并且包含了对HTTPS、代理服务器、Cookie管理、连接池、重定向处理等多种网络通信场景的支持。 二、核心概念与组件 1. HttpClient实例:作为主要的入口点...
5. **RedirectStrategy**和**RetryStrategy**:这些策略类分别定义了如何处理重定向和请求失败后的重试逻辑,可以根据应用需求进行定制。 除了核心组件外,`httpclient-4.5.jar`还依赖于其他jar包,例如: 1. `...
在使用HttpClient时,开发者需要注意配置连接管理器、设置合适的超时、处理重定向和重试、以及选择合适的认证方式。同时,由于HttpClient的灵活性,正确地关闭和管理连接资源也非常重要,以避免资源泄露。 总之,...
- **处理重定向**:HttpClient支持自动处理重定向,但也可以通过配置关闭此功能,自定义重定向策略。 - **请求与响应拦截器**:利用`HttpRequestInterceptor`和`HttpResponseInterceptor`,可以在请求发送前和响应...
它提供了丰富的功能,包括GET、POST、PUT、DELETE等HTTP方法的支持,以及Cookie管理、URL连接重定向、请求与响应头的处理等。在本文中,我们将深入探讨如何使用HttpClient调用WebService。 首先,调用WebService...
《HttpClient 4.5:构建高效网络请求的利器》 HttpClient是Apache软件基金会下的一个开源项目,主要用于提供高效的、最新的、功能丰富的HTTP协议客户端编程工具包。HttpClient 4.5作为其重要的版本,针对Java开发者...
HttpClient 的功能包括但不限于 HTTP 请求的执行、响应的处理、连接管理、异常处理、协议拦截器以及重定向处理等。 在讨论HttpClient的文档时,首先应该明确它的使用范围,也即HttpClient能够做什么,以及它不做...
HttpClient可以自动处理服务器返回的重定向响应,通过设置RedirectHandler实现自定义重定向策略。 六、异常处理 HttpClient中常见的异常类有HttpException、IOException等,需要在使用过程中捕获并处理。 七、安全...
它包括了各种HTTP方法(如GET、POST、PUT等)、重定向处理、Cookie管理、身份认证以及连接管理等功能。版本4.5.x系列对HTTP/1.1协议有很好的支持,并引入了对HTTP/2的部分支持。此外,HttpClient还支持异步操作,...