Jsoup似乎是缓存,我可以禁用它吗?

时间:2013-06-08 00:04:43

标签: java caching jsoup

我正在尝试使用reddit.com/r/subreddit/random从/ r / nocontext获取随机链接。但是,如果我将这段代码放在一个循环中,它似乎会反复将我带到同一个链接。这让我觉得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();
}

任何人都对如何解决这个问题有任何见解?

2 个答案:

答案 0 :(得分:2)

它很可能是由服务器缓存的。 检查其API中的Rules

特别是我引用这个:

  

大多数网页都会缓存30秒,因此如果您获得新数据,则无法获得   您经常请求相同的页面。不要再打同一页了   而不是每30秒一次。

因此,请每30秒钟提出一次请求,看看问题是否已解决。

答案 1 :(得分:-1)

可以缓存GET请求,因为POST请求永远不会被缓存。将连接请求从get()更改为post()将避免这种情况。