下载页面每天更新的问题

时间:2013-05-27 12:26:09

标签: google-app-engine


我正在开发一个GAE应用程序,它可以获取一个网页并搜索一个链接 这个页面每天早上都会更新,因此每天早上每15分钟执行一次cron作业,持续几个小时,以获取当天的页面。

问题在于:如果在第一次执行cron作业时,应用程序找到旧页面(昨天的页面),它会继续获取该页面,尽管同一URL上有新页面。
似乎在某处使用了缓存,但我无法禁用它。

应用程序用于下载页面的代码只是Java I / O:

    InputStream input = null;
    ByteArrayOutputStream output = null;
    HttpURLConnection conn = null;
    URL url = new URL("http://www.page.url.net");
    try {
        conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(0);
        conn.setUseCaches(false);
        int httpResponseCode = conn.getResponseCode();
        if (httpResponseCode == HttpURLConnection.HTTP_OK) {
            input = conn.getInputStream();
            output = writeByteArrayOutputStreamFromInputStream(input);
        } else {
            throw new IOException("response code " + httpResponseCode);
        }
    } finally {
        if (input != null) {
            output.close();
            conn.disconnect();
        }
    }

怎么了?

1 个答案:

答案 0 :(得分:0)

为了避免缓存,我建议使用这个简单的技巧:在查询字符串的末尾添加一个“假”查询参数,例如,如果你要提取的页面是

http://www.page.url.net

添加名为dummy =的参数,以便url变为:

http://www.page.url.net?dummy=2013-05-25

确保远程服务器实际上没有解释“虚拟”参数。

希望这有帮助。