2013-06-08 2 views
1

Я пытаюсь использовать reddit.com/r/subreddit/random, чтобы получить случайную ссылку из/r/nocontext. Однако, похоже, я неоднократно приводил меня к той же ссылке, если бы я поставил этот код в цикле. Это заставляет меня думать, что Jsoup кэширует веб-страницу, но мне нужно отключить это. Вот мой код:Jsoup, похоже, кэширует, могу ли я отключить это?

Document doc = null; 
try { 
    doc = Jsoup.connect("http://www.reddit.com/r/nocontext/random").get(); 
    Elements elements = doc.select("div.entry.unvoted p.title a.title"); 

    for (Element link : elements) 
     System.out.println(link.text()); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

У любого есть понимание того, как исправить эту проблему?

+1

Вы уверены, что его jsoup? что произойдет, если вы нажмете его повторно в своем браузере? похоже, он дает мне тот же URL-адрес в firefox. сеансы/кэширование могут быть серверными для reddit. – jeff

+0

Я пробовал в хроме, и этого не произошло. Это возможно. – LulzCop

ответ

2

Скорее всего, он кэшируется сервером. проверить Rules в своем API.

особенно цитирую это:

Большинство страниц в кэше в течение 30 секунд, так что вы не будете получать свежие данные, если вы запрашиваете ту же страницу, что часто. Не ударяйте одну и ту же страницу больше , чем один раз в 30 секунд.

так что сделайте свой запрос каждые 30 секунд и проверьте, не решена ли ваша проблема.

-1

Запросы GET можно кэшировать, поскольку запросы POST никогда не могут быть кэшированы. Изменение запроса на соединение из get() на post() позволит избежать этого.

Смежные вопросы