使用Java URL输入流从网站检索“nulls”

时间:2010-05-31 19:52:17

标签: java url

我正在尝试使用Java URL输入流从网站读取文本:

URL u = new URL(str);
br3 = new BufferedReader(new InputStreamReader(u.openStream()));
while(true)  
 System.out.println(br3.readLine());

这似乎适用于大多数网站,但对于某些URL缩短服务,如LinkBee,该对象绘制空白。例如linkbee.com/FUAKF。我可以使用资源管理器查看源代码,但是当我使用上面的代码时,我会反复获取null

4 个答案:

答案 0 :(得分:2)

这是因为这些网站只是重定向服务。你是如何处理重定向的? (重定向有一个Location:标题,但没有正文)

答案 1 :(得分:0)

使用像commons:httpclient这样的http库,方法getResponseBodyAsStream会自动重定向

答案 2 :(得分:0)

巴利是对的。

我只是想补充一点,对于某些网站,也可能有javascript可以将你重定向到另一个页面。像这样:

<script type="text/javascript"> <!-- window.location = "http://www.google.com/" //--> </script>

但在您的情况下,根据您获得空值的事实,标题会重定向您。只是觉得你可能也想要注意javascript的事情。

答案 3 :(得分:0)

确实它是一个重定向服务,但是我不需要实际遵循重定向,我只需要提取它重定向到的URL - 这可以在重定向网站本身的源代码中找到(在给定的情况,在第81行,输入类型='隐藏'id ='urlholder'值='http://www.megaupload.com/?d=02EBRUTT'。

不管我不认为该流应该给我一个完整的空白,除非它不读头,只有身体?