извлечение 'нулей' с веб-сайта, используя поток ввода URL Java - PullRequest
0 голосов
/ 31 мая 2010

Я пытаюсь прочитать текст с веб-сайта, используя поток ввода URL-адреса Java:

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 s при использовании приведенного выше кода.

Ответы [ 4 ]

2 голосов
/ 31 мая 2010

Это потому, что эти сайты являются просто службами перенаправления. Как вы обрабатываете перенаправления? (редирект имеет заголовок Location: Location, но без тела)

0 голосов
/ 01 июня 2010

Это правда, что это служба перенаправления, однако на самом деле я не требую после перенаправления, мне просто нужно извлечь URL, на который он перенаправляет, - который можно найти в исходном коде самого сайта перенаправления (который в данный случай, в строке 81:

input type='hidden' id='urlholder' value='http://www.megaupload.com/?d=02EBRUTT'

Несмотря на это, я не думаю, что поток должен давать мне полный пробел, если он не читает голову, только тело?

0 голосов
/ 01 июня 2010

Барри прав.

Я просто хотел добавить, что для некоторых веб-сайтов также может быть JavaScript, который может перенаправить вас на другую страницу. Примерно так:

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

Но в вашей ситуации это будут заголовки, перенаправляющие вас, основываясь на том факте, что вы получаете нули обратно. Просто подумал, что ты тоже можешь остерегаться javascript.

0 голосов
/ 01 июня 2010

использовать библиотеку http, например commons: httpclient , метод getResponseBodyAsStream автоматически выполняет перенаправления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...