【发布时间】:2012-06-16 21:16:11
【问题描述】:
我正在使用如下代码发出一个简单的 URL 请求:
URL url = new URL(webpage);
URLConnection urlConnection = url.openConnection();
InputStream is = urlConnection.getInputStream();
但在最后一行,我收到“重定向太多次错误”。如果我的“网页”变量是 google.com,那么它可以正常工作,但是当我尝试使用我的 servlet 的 URL 时,它会失败。看来我可以调整它跟随重定向的次数(默认为 20):
System.setProperty("http.maxRedirects", "100");
但是当我将它提高到 100 时,抛出错误肯定需要更长的时间,所以我知道它正在尝试。但是,我的 servlet 的 URL 在(任何)浏览器中都可以正常工作,并且在 firebug 中使用“persist”选项似乎只重定向一次。
关于我的 servlet 的更多信息......它在 tomcat 中运行,并由 apache 使用“mod-proxy-ajp”作为前端。另外值得注意的是,它使用表单身份验证,因此您输入的任何 URL 都应将您重定向到登录页面。正如我所说,这在所有浏览器中都能正常工作,但由于某种原因,重定向不适用于 Java 6 中的 URLConnection。
感谢阅读...想法?
【问题讨论】:
-
您是在给自己打电话并指挥自己的电话吗?例如无限回避?
-
您可以尝试在禁用 cookie 的浏览器中打开此页面吗?
-
我把它当作网页!=(包含
URL url = new URL(webpage); URLConnection urlConnection = url.openConnection(); InputStream is = urlConnection.getInputStream();的servlet URL) -
jonnyGold:你的意思是本地主机还是什么?不,网址是外部的;萨米:不知道你在问什么; dbf:宾果游戏!就是这样,谢谢!
-
很高兴你得到了它,我们只是确保你的脚本不会一次又一次地调用自己,但我很高兴你让它正常工作。
标签: java url servlets redirect urlconnection