java 避免重定向_java – 避免循环重定向使用HttpClient 4.1.1
如何避免使用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相关推荐
- java post重定向_java实现响应重定向发送post请求操作示例
本文实例讲述了java实现响应重定向发送post请求操作.分享给大家供大家参考,具体如下: 关于重定向我们用的比较多的还是redirect:重定向,默认发送的get请求. return "r ...
- java collection 遍历_Java for循环对集合的遍历
原标题:Java for循环对集合的遍历 Java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合 ...
- java foreach赋值_Java foreach循环使用详解[转]
本文转自码农网 本文非常适合初学Java的程序员,主要是来了解一下Java中的几种for循环用法,分析得十分详细,一起来看看. J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环, ...
- java 转发与重定向_Java 转发和重定向的区别
转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重定 ...
- Java 拦截器重定向无限循环/重定向次数过多报错 的解决方案
public class CheckPortInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(H ...
- java while语句_Java while循环
Java while循环用于重复程序的一部分几次或重复执行一个代码块. 如果迭代次数不固定,建议使用while循环. 语法: while(condition){ //code to be execut ...
- java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园
1.Java日期循环 SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd"); String dateStr1 ...
- java for 递归_Java/For循环/递归函数循环
首先:java的重点和难点,命名和缓存 这次咱们的内容主要用到: 命名规则:大小写字母,下划线,美元符号$,数字,且数字不能打头 变量的声明:数据类型划分内存空间,命名,赋值 方法的声明:修饰符列表, ...
- java while语句_Java while循环语句
Java while循环语句 循环语句除了for循环之外还有while和do..while,接下来我们先来看一下while循环,首先学习while循环的语法结构,如下图所示: 图6-29:while循 ...
- java lambda 累加_Java lambda 循环累加求和代码
Java lambda 循环累加求和代码,给大家,希望能,可以使用,这篇,小编 Java lambda 循环累加求和代码 易采站长站,站长之家为您整理了Java lambda 循环累加求和代码的相关内 ...
最新文章
- 管理距离 路由与交换_动态路由选择原理(距离矢量路由协议RIP)
- VS2010 加入OpenCV 提示 0xc000007b 的错误
- 五个方法成为更好的程序员
- 全面剖析【二叉树】的各类遍历方法
- SpringBoot2 整合 Zookeeper组件,管理架构中服务协调
- SQL SERVER 自定义函数参数数量对调用时参数数量的影响
- 绝对定向 c++_【007】Linux重定向、管道符及环境变量(看这一文就够了)
- 关键字: datagridview 属性 说明
- Android跑马灯的效果
- iso12233测试方法_ISO12233分辨率测试卡的操作步骤
- 容器技术介绍之docker核心技术概述
- python地址怎么写_python文件地址(文件路径)怎么写
- Beyond Compare 设置打开文件的默认编码
- JDBC--C3P0连接池的工具类编写以及功能测试
- 强哥的分享--如何使用Spring Boot做一个邮件系统
- 使用HTML5/CSS3制作便签贴
- RSD 教程 —— 2 开始运行RSD
- Linux Mint18分区方案
- php 停止运行下面脚本,php如何停止脚本运行
- ap计算机科学AB难吗,解读AP微积分,BC到底比AB难多少?该如何选择?
热门文章
- nginx开启密码认证
- 索尼SONY 820E摄像机内置64G存储卡无法识别拆MMC芯片完整恢复数据
- 应用层TCP三次握手及各种协议简介telnet【笔记】
- 关于MSDTC - 与基础事务管理器的通信失败 错误解决的小备忘
- 3.Linux 高性能服务器编程 --- TCP 协议详解
- 7. 如何创建 CSS
- 5. 什么是命名空间
- 1.2 Zend_Acl (2)
- 谷歌在线appspot平台教你学Hacker(由浅如深)-XSS篇
- MySQL将一张表的某些列数据,复制到另外一张表,并且修改某些内容