HttpClient获取重定向地址的代码
2014-04-06 01:56
190 查看
import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.entity.ContentType; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.ExecutionContext; import org.apache.http.protocol.HttpContext; import org.apache.http.util.EntityUtils; public class HttpClientDemo { /** * 获取重定向之后的网址信息 * @see HttpClient缺省会自动处理客户端重定向 * @see 即访问网页A后,假设被重定向到了B网页,那么HttpClient将自动返回B网页的内容 * @see 若想取得B网页的地址,就需要借助HttpContext对象,HttpContext实际上是客户端用来在多次请求响应的交互中,保持状态信息的 * @see 我们自己也可以利用HttpContext来存放一些我们需要的信息,以便下次请求的时候能够取出这些信息来使用 */ public static void getRedirectInfo(){ HttpClient httpClient = new DefaultHttpClient(); HttpContext httpContext = new BasicHttpContext(); HttpGet httpGet = new HttpGet("http://127.0.0.1:8088/blog/main.jsp"); try { //将HttpContext对象作为参数传给execute()方法,则HttpClient会把请求响应交互过程中的状态信息存储在HttpContext中 HttpResponse response = httpClient.execute(httpGet, httpContext); //获取重定向之后的主机地址信息,即"http://127.0.0.1:8088" HttpHost targetHost = (HttpHost)httpContext.getAttribute(ExecutionContext.HTTP_TARGET_HOST); //获取实际的请求对象的URI,即重定向之后的"/blog/admin/login.jsp" HttpUriRequest realRequest = (HttpUriRequest)httpContext.getAttribute(ExecutionContext.HTTP_REQUEST); System.out.println("主机地址:" + targetHost); System.out.println("URI信息:" + realRequest.getURI()); HttpEntity entity = response.getEntity(); if(null != entity){ System.out.println("响应内容:" + EntityUtils.toString(entity, ContentType.getOrDefault(entity).getCharset())); EntityUtils.consume(entity); } } catch (Exception e) { e.printStackTrace(); }finally{ httpClient.getConnectionManager().shutdown(); } } }
相关文章推荐
- PHP为表单获取的URL 地址预设 http 字符串函数代码
- Jquery 获取表单text,areatext,radio,checkbox,select值的代码(本内容来自唯才教育网http://www.hn1c.com 原文地址:http://www.hn1
- httpclient小例子:获取手机号地址、IP地址获取、POST方式注册用户(乐蜂网)
- 解析php 版获取重定向后的地址(代码)
- 利用HttpClient 获取网页数据java代码模版
- “VC在局域网中通过http协议获取公网IP地址”以及“多个服务器节点的测速代码”
- 一周乱弹(1,HttpReques 获取请求地址2,去掉字符串中首尾空格及换行符、回车符等3,计算代码运行时间4,StringEscapeUtils对字符串进行各种转义与反转义5,分表查询记录总数)
- httpclient重定向之后获取网址信息示例
- php版获取重定向后地址的代码分享
- PHP为表单获取的URL 地址预设 http 字符串函数代码
- HTTP请求重定向的接口,获取该接口重定向地址
- 解析php 版获取重定向后的地址(代码)
- java获取指定地址图片高度宽度简单代码
- HttpClient获取并解析JSON数据
- Java-HttpClient-EntityUtils获取网络图片
- 公共代码参考(httpclient)
- httpclient 用java调用 的方式获取网页内容,
- 获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)
- C# HttpWebRequest 绝技 根据URL地址获取网页信息
- cxf获取http对象地址