1

我正在为评估构建和应用程序,并且我需要下载一个网页,前提是它自上次下载以来已被修改。我需要将上次更改的日期存储为 Long,因此 getDate() 方法返回一个 long。我尝试使用 HttpURLConnection 和 URLConnection,但我无法实现解决方案。在我的尝试中,我尝试使用:

  • If-Modified-Since,但是,不知何故,我没有收到 304 响应代码,只有 200。代码:

    HttpURLConnection huc = null;
    try {
        URL url = new URL(pages.get(0).getUrl());
        huc = (HttpURLConnection) url.openConnection();
        huc.setIfModifiedSince(pages.get(0).getDate());
        huc.connect();
        Log.d("App", "Since: " + huc.getIfModifiedSince());
        Log.d("App", "Response: " + huc.getResponseCode());
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
       //output
    since: 1354320000000 - which is the return of the getDate method.
    Response: 200
    
  • html etags,但我无法从响应中检索信息,因为服务器没有回答 Last-Modified 标记。

提前致谢

4

0 回答 0