1

reddit.com/r/subreddit/random/r/nocontext からランダムなリンクを取得するために使用しようとしています。ただし、このコードをループに入れると、同じリンクが繰り返し表示されるようです。これにより、Jsoup が Web ページをキャッシュしていると思われますが、これを無効にする必要があります。これが私のコードです:

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();
}

誰でもこの問題を解決する方法について洞察を持っていますか?

4

2 に答える 2

2

ほとんどの場合、サーバーによってキャッシュされます。APIのルールを確認してください。

特に私はこれを引用します:

ほとんどのページは 30 秒間キャッシュされるため、同じページを頻繁にリクエストすると、新しいデータを取得できません。同じページに 30 秒に 1 回以上アクセスしないでください。

したがって、リクエストを30秒以上ごとにして、問題が解決したかどうかを確認してください。

于 2013-06-08T01:39:15.043 に答える
-2

GET リクエストはキャッシュできますが、POST リクエストはキャッシュできません。接続リクエストを get() から post() に変更すると、これを回避できます。

于 2014-08-05T21:03:31.657 に答える