android客户端HttpClient URL 被重定向的解决办法
来源:互联网 发布:qq旋风 mac 编辑:程序博客网 时间:2024/05/29 15:07
我们在开发时经常使用到网络请求,但是有时候会遇到服务端给的url不是最终的,我们用这个url在浏览器上链接下,会发现url改变了,这就是url不是最终的,而是被重定向后的链接地址。
那我们如何解决这种问题呢,不多说,看代码:
public class HttpClientURLRedirectUtils {
/**
* Http URL重定向
*/
public static String redirect(String url) {
DefaultHttpClient httpclient = null;
try {
httpclient = new DefaultHttpClient();
httpclient.setRedirectHandler(new RedirectHandler() {
@Override
public boolean isRedirectRequested(HttpResponse response,
HttpContext context) {
return false;
}
@Override
public URI getLocationURI(HttpResponse response, HttpContext context)
throws org.apache.http.ProtocolException {
return null;
}
});
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
// 获取响应实体
HttpEntity entity = response.getEntity();
if (entity != null) {
// 打印响应内容长度
// System.out.println("Response content length: " + entity.getContentLength());
// 打印响应内容
// System.out.println("Response content: " + EntityUtils.toString(entity));
}
} else if (statusCode == HttpStatus.SC_MOVED_TEMPORARILY
|| statusCode == HttpStatus.SC_MOVED_PERMANENTLY) {
// System.out.println("当前页面发生重定向了---");
org.apache.http.Header[] headers = response.getHeaders("Location");
if(headers!=null && headers.length>0){
String redirectUrl = headers[0].getValue();
// System.out.println("重定向的URL:"+redirectUrl);
redirectUrl = redirectUrl.replace(" ", "%20");
return redirectUrl;
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭连接,释放资源
httpclient.getConnectionManager().shutdown();
}
return url;
}
}
- android客户端HttpClient URL 被重定向的解决办法
- HttpClient URL 重定向
- HttpClient获取重定向URL
- apache httpclient 获取重定向之后的url方法
- 调用HttpClient处理URL重定向
- 用Apache HttpClient实现URL重定向
- 《用Apache HttpClient实现URL重定向》
- 用Apache HttpClient实现URL重定向
- Android httpClient自动处理302重定向
- android HttpClient处理302重定向
- HttpClient 4.1 post 继续访问 重定向,301,302 的url
- Apache HttpClient 4.3开发指南 实现URL重定向
- Android 如何获取url重定向之后的地址
- Java/Android 获取网络重定向文件的真实URL
- Java/Android 获取网络重定向文件的真实URL
- HttpClient获取重定向地址的代码
- HttpClient重定向
- httpclient重定向
- iptables的四表五链
- mysql图形化管理工具 workbench查询快捷键修改
- JDBC要点总结、SQL注入示例(Statement和PreparedStatement)
- 关于无向图中环的研究
- web.xml 配置中classpath: 与classpath*:的区别
- android客户端HttpClient URL 被重定向的解决办法
- Android Activity生命周期相关问题
- Fresco的封装和使用说明以及获取缓存中的Bitmap对象
- linux shell 下载维基百科特色条目并统计单词词频
- hdoj 无题 1871 (结构体 水)
- spin_lock、spin_lock_irq、spin_lock_irqsave区别
- Android 零碎知识点整理
- 第4周项目1-求最大公约数
- CSS书写