`
huangzhir
  • 浏览: 126070 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

HttpClient 4.1 post 继续访问 重定向,301,302 的url

阅读更多
在用HttpClient 4.1,用get 的时,如果有重定向,会自动再去访问重定向的内容 。
但用post访问url就不会自动 重定向的内容 。

用post访问url是地,我们经常会遇到返回301,302 返回代码,他们代表的是重定向。有两种方法让程序继续访问,
1 利用heard 取Location值重新再访问,代码如下

		if(response.getStatusLine().getStatusCode()==302){
			 Header[] hs = response.getHeaders("Location");  
	            if(hs.length>0){  
	    			return sendPost(client,  hs[0].toString(), headers, params, encoding, cookie);
	            }  
		}


2 HttpClient实例中增加重定向策略,代码如下
client.setRedirectHandler(new DefaultRedirectHandler() {                
	 			    @Override
	 			    public boolean isRedirectRequested(HttpResponse response, HttpContext context) {
	 			        boolean isRedirect = super.isRedirectRequested(response, context);
	 			        if (!isRedirect) {
	 			            int responseCode = response.getStatusLine().getStatusCode();
	 			            if (responseCode == 301 || responseCode == 302) {
	 			                return true;
	 			            }
	 			        }
	 			        return isRedirect;
	 			    }
	 			});
0
1
分享到:
评论
2 楼 kuno321 2014-08-19  
在用HttpClient 4.1,用get 的时,如果有重定向,会自动再去访问重定向的内容 。

一句话不知道,搞了半天…………
1 楼 liangcoder 2013-06-04  
good job

相关推荐

    httpClient4.1入门教程.

    它不仅能够处理基本的 GET 和 POST 请求,还支持各种高级特性,如重试策略、连接管理、多线程、Cookie 处理、URL 重定向等。 HttpClient 基本功能的使用 1. 环境准备:要使用 HttpClient,首先需要在项目中引入...

    httpClient4.1入门教程

    本文将通过一系列步骤和示例来帮助你入门HttpClient4.1。 ### 1. 环境准备 在开始使用HttpClient之前,你需要确保已经安装了Java环境,并在项目中引入HttpClient的依赖库。通常,你可以通过Maven或Gradle等构建工具...

    httpClient4.1入门教程.docx

    HttpClient 简介 HttpClient 是 Apache Jakarta Common 项目下的一个子项目,专为 Java 开发者设计,提供了高效、强大且灵活的 HTTP 客户端编程接口。它旨在弥补 JDK 自带的 `java.net` 包在处理 HTTP 请求时功能的...

    httpclient4.1.4 API

    无论是简单的GET请求,还是复杂的POST操作,甚至是管理连接、处理重定向和认证,HttpClient都能提供全面的支持。在实际开发中,理解并熟练运用HttpClient 4.1.4的API,将极大地提升网络编程的效率和质量。

    httpcomponents-client-4.1-bin.zip

    《Apache HttpClient 4.1详解》 Apache HttpClient是一款强大的HTTP客户端库,广泛应用于Java开发者之中,主要用于处理HTTP请求和响应。在"**httpcomponents-client-4.1-bin.zip**"这个压缩包中,包含了HttpClient ...

    httpclient

    在本文中,我们将深入探讨HttpClient 4.1版本,了解其核心概念、使用方法以及如何在实际项目中有效地利用它进行网络通信。 HttpClient 4.1版本是在2011年发布,虽然已有一定的历史,但其稳定性和功能依然强大。此...

    httpclient4.x官方范例

    6. **示例代码**:"httpclient4.1_examples"压缩包中的示例代码展示了如何使用HTTPClient 4.1.1进行基本的HTTP操作,包括发送GET、POST请求,处理响应,以及设置请求头、处理重定向等。通过分析和运行这些示例,你...

    HTTPClient

    默认情况下,HttpClient会自动处理重定向。但在某些情况下,我们可能不希望它这样做。本节将介绍如何禁用重定向。 **4.2 不跟随重定向** 为了不跟随重定向,可以使用`RedirectStrategy`的子类`LaxRedirectStrategy...

    最新官方资源httpclient-4.1.3.jar和httpcore-4.1.4.jar

    HttpClient支持各种HTTP方法如GET、POST、PUT等,还包含了处理重定向、Cookie管理、连接池管理、身份认证等多种功能。这个版本的更新可能包括了性能优化、bug修复以及对新HTTP标准的支持。在使用HttpClient时,...

    HttpClient使用教程

    该教程基于 HttpClient 4.1 版本,包括基础用法和 SSL 访问的简单示例。随着 HttpClient 更新至更高版本,例如 HttpClient 4.5.x 或更高,可能会有新的特性和改进。开发者应当关注最新版本的文档以获取更全面、最新...

    httpClient使用指南最新版

    - **1.1.1 HTTP请求**: 在客户端发起HTTP请求时,需要构造一个`HttpRequest`对象,它包含了请求方法(如GET、POST)、请求URL等信息。 - **1.1.2 HTTP响应**: 当服务器接收到请求后会返回一个`HttpResponse`对象,...

    httpClient4jar包

    在HttpClient 4.4.1.jar中,包含了HttpClient的主要功能实现,如HTTP方法(GET, POST等)、连接管理、重定向处理、身份验证机制、Cookie管理以及各种HTTP协议头的设置。这个核心库让你可以方便地构建HTTP请求,并...

    HttpClient 4.0中文教程

    HttpClient可以根据URL计算出正确的路由。 - **安全HTTP连接**: 使用HTTPS时,还需要考虑TLS/SSL的安全配置。 **2.4 HTTP路由参数** - **路由参数**: 可以设置路由相关的参数,如代理设置等。 **2.5 套接字工厂**...

    httpClient4.5.1教程

    - 1.2.2 HttpClient资源释放:解释了HttpClient实例的生命周期管理,以及如何正确地关闭HttpClient资源。 1.3 HTTP执行上下文 - 说明了如何使用HTTP执行上下文来管理HTTP连接和请求执行过程中的状态。 1.4 HTTP...

    httpclient 4.5 api文档

    - **实现**:HttpClient支持自动处理常见的HTTP重定向状态码(如301, 302等)。 #### 二、连接管理 ##### 2.1 连接持久化 - **定义**:保持连接在一定时间内不关闭,以便后续请求使用。 - **优势**:提高性能,...

    httpclient tutorial

    1.7 重定向处理:解释HttpClient如何处理HTTP重定向响应。 2. 连接管理 2.1 连接持久化:介绍如何维持TCP连接的持久性。 2.2 HTTP连接路由:包括路由计算和安全HTTP连接的配置。 2.3 HTTP连接管理器:涵盖...

Global site tag (gtag.js) - Google Analytics