知识大全 HttpClient get请求在HttpResponse中无法获得Location的问题
Posted 环境
篇首语:最怕一生碌碌无为,还安慰自己平凡可贵。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 HttpClient get请求在HttpResponse中无法获得Location的问题相关的知识,希望对你有一定的参考价值。
HttpClient get请求在HttpResponse中无法获得Location的问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
我通过client的get方法访问 通过返回的response的头部的location可以得到服务器的重定向地址(Location)
在java环境下测试都没问题
可是在安卓SDK环境下 却得不到response的location
通过抓包分析 发现在android下
client的实例执行get请求后 一起连重定向的get方法都执行了
所以最后得到的response是重定向之后地址的get请求的response 所以得不到locatioon 而且responseCode== 而不是在java测试环境下的 说明这个时候的response是重定向之后的response
这个时候需要阻止HttpClient的自动重定向 方法如下
public static String getLocationMethod(String reqUrl Context context)
DefaultHttpClient client = new DefaultHttpClient();
String location = null;
int responseCode = ;
try
final HttpGet request = new HttpGet(reqUrl);
HttpParams params = new BasicHttpParams();
params setParameter( redirects false); // 默认不让重定向
// 这样就能拿到Location头了
request setParams(params);
HttpResponse response = (request);
responseCode = response getStatusLine() getStatusCode();
Header[] headers = response getAllHeaders();
if(responseCode== )
Header locationHeader = response getFirstHeader( Location );
if (locationHeader != null)
location = locationHeader getValue();
catch (Exception e)
e printStackTrace();
MyLog d( exception= e toString());
return location;
添加 params setParameter( redirects false);之后返回结果如下
ResponseCode=
Date:Sun Jan : : GMT
Server:Abloomy Http Server
Connection:Close
Cache Control:no store
Pragma:no caches
Last Modified:Sun Jan : : GMT
Content Typ:text/; charset=iso
Content Length:
Expires:Mon Jan : : GM
cha138/Article/program/Java/hx/201311/26007相关参考
JAVA实现httpClient实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /* *C
HttpClient模拟登录12306购票网站 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首
HttpClient是ApacheJakartaCommon下的子项目可以用来提供支持HTTP协议的客户端编程工具包模拟浏览器的行为它提供了很多的方法来简化网络的访问虽然大部分的功能可以使用较底层
知识大全 在silverlight中使用downloader
downloader对象为Silverlight插件提供了下载功能其通过HTTP(get)请求异步下载指定的内容 downloader所支持的event包括 Completed下载完成(Dow
asp教程中getpost提交表单区别 Get和Post方式的区别有点 get是从服务器上获取数据post是向服务器传送数据 get是把参数数据队列加到提交表单的ACTION属性所指的URL
用GET 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一般来说把表格索引以及存储过程的DLL转
知识大全 酒桌上喝酒,酒量不好的你,这8个技巧你get到了吗
酒桌上喝酒,酒量不好的你,这8个技巧你get到了吗?古诗有云:何以解忧,唯有杜康中国酒文化源远流长,酒文化的兴起,也带来酒桌文化的兴起,随之而来的是酒桌上的劝酒文化。?在日常的生活交际中,如同学聚会、
表单提交中Get和Post方式的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! get是从服
使用GET方式与PHP交互[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
使用GET方式与PHP交互[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs