如何避免使用HttpClient 4.1.1进行循环重定向.因为我得到这样的错误:

executing requestGET http://home.somehost.com/Mynet/pages/cHome.xhtml HTTP/1.1

org.apache.http.client.ClientProtocolException

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:822)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)

at edu.uci.ics.crawler4j.url.WebURL.setURL(WebURL.java:122)

at edu.uci.ics.crawler4j.crawler.CrawlController.addSeed(CrawlController.java:207)

at edu.uci.ics.crawler4j.example.advanced.Controller.main(Controller.java:31)

Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to 'http://home.somehost.com/Mynet/pages/Home.xhtml'

at org.apache.http.impl.client.DefaultRedirectStrategy.getLocationURI(DefaultRedirectStrategy.java:168)

at org.apache.http.impl.client.DefaultRedirectStrategy.getRedirect(DefaultRedirectStrategy.java:193)

at org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:1021)

at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:482)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)

这是我的代码…

DefaultHttpClient client = null;

try

{

// Set url

//URI uri = new URI(url.toString());

client = new DefaultHttpClient();

client.getCredentialsProvider().setCredentials(

new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM),

new UsernamePasswordCredentials("test", "test"));

URL url1 = new URL (url);

HttpURLConnection connection = (HttpURLConnection) url1.openConnection();

connection.setFollowRedirects(false);

HttpGet request = new HttpGet(url);

final HttpParams params = new BasicHttpParams();

HttpClientParams.setRedirecting(params, false);

HttpContext context = new BasicHttpContext();

System.out.println("----------------------------------------");

System.out.println("executing request" + request.getRequestLine());

HttpResponse response = client.execute(request, context);

HttpEntity entity = response.getEntity();

System.out.println(response.getStatusLine());

InputStream content = entity.getContent();

BufferedReader in =

new BufferedReader (new InputStreamReader (content));

String line;

while ((line = in.readLine()) != null) {

// System.out.println(line);

}

} catch(Exception e) {

e.printStackTrace();

}

java 避免重定向_java – 避免循环重定向使用HttpClient 4.1.1相关推荐

  1. java post重定向_java实现响应重定向发送post请求操作示例

    本文实例讲述了java实现响应重定向发送post请求操作.分享给大家供大家参考,具体如下: 关于重定向我们用的比较多的还是redirect:重定向,默认发送的get请求. return "r ...

  2. java collection 遍历_Java for循环对集合的遍历

    原标题:Java for循环对集合的遍历 Java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合 ...

  3. java foreach赋值_Java foreach循环使用详解[转]

    本文转自码农网 本文非常适合初学Java的程序员,主要是来了解一下Java中的几种for循环用法,分析得十分详细,一起来看看. J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环, ...

  4. java 转发与重定向_Java 转发和重定向的区别

    转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重定 ...

  5. Java 拦截器重定向无限循环/重定向次数过多报错 的解决方案

    public class CheckPortInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(H ...

  6. java while语句_Java while循环

    Java while循环用于重复程序的一部分几次或重复执行一个代码块. 如果迭代次数不固定,建议使用while循环. 语法: while(condition){ //code to be execut ...

  7. java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园

    1.Java日期循环 SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd"); String dateStr1 ...

  8. java for 递归_Java/For循环/递归函数循环

    首先:java的重点和难点,命名和缓存 这次咱们的内容主要用到: 命名规则:大小写字母,下划线,美元符号$,数字,且数字不能打头 变量的声明:数据类型划分内存空间,命名,赋值 方法的声明:修饰符列表, ...

  9. java while语句_Java while循环语句

    Java while循环语句 循环语句除了for循环之外还有while和do..while,接下来我们先来看一下while循环,首先学习while循环的语法结构,如下图所示: 图6-29:while循 ...

  10. java lambda 累加_Java lambda 循环累加求和代码

    Java lambda 循环累加求和代码,给大家,希望能,可以使用,这篇,小编 Java lambda 循环累加求和代码 易采站长站,站长之家为您整理了Java lambda 循环累加求和代码的相关内 ...

最新文章

  1. 管理距离 路由与交换_动态路由选择原理(距离矢量路由协议RIP)
  2. VS2010 加入OpenCV 提示 0xc000007b 的错误
  3. 五个方法成为更好的程序员
  4. 全面剖析【二叉树】的各类遍历方法
  5. SpringBoot2 整合 Zookeeper组件,管理架构中服务协调
  6. SQL SERVER 自定义函数参数数量对调用时参数数量的影响
  7. 绝对定向 c++_【007】Linux重定向、管道符及环境变量(看这一文就够了)
  8. 关键字: datagridview 属性 说明
  9. Android跑马灯的效果
  10. iso12233测试方法_ISO12233分辨率测试卡的操作步骤
  11. 容器技术介绍之docker核心技术概述
  12. python地址怎么写_python文件地址(文件路径)怎么写
  13. Beyond Compare 设置打开文件的默认编码
  14. JDBC--C3P0连接池的工具类编写以及功能测试
  15. 强哥的分享--如何使用Spring Boot做一个邮件系统
  16. 使用HTML5/CSS3制作便签贴
  17. RSD 教程 —— 2 开始运行RSD
  18. Linux Mint18分区方案
  19. php 停止运行下面脚本,php如何停止脚本运行
  20. ap计算机科学AB难吗,解读AP微积分,BC到底比AB难多少?该如何选择?

热门文章

  1. nginx开启密码认证
  2. 索尼SONY 820E摄像机内置64G存储卡无法识别拆MMC芯片完整恢复数据
  3. 应用层TCP三次握手及各种协议简介telnet【笔记】
  4. 关于MSDTC - 与基础事务管理器的通信失败 错误解决的小备忘
  5. 3.Linux 高性能服务器编程 --- TCP 协议详解
  6. 7. 如何创建 CSS
  7. 5. 什么是命名空间
  8. 1.2 Zend_Acl (2)
  9. 谷歌在线appspot平台教你学Hacker(由浅如深)-XSS篇
  10. MySQL将一张表的某些列数据,复制到另外一张表,并且修改某些内容