Java 仅当网页已被修改时才下载该网页
我正在为评估构建和应用程序,只有在自上次下载后网页已被修改的情况下,我才需要下载该网页。我需要将上次更改的日期存储为Long,因此方法getDate()返回Long。 我尝试使用HttpURLConnection和URLConnection,但无法实现解决方案。 在我的尝试中,我尝试使用:Java 仅当网页已被修改时才下载该网页,java,android,httpurlconnection,urlconnection,Java,Android,Httpurlconnection,Urlconnection,我正在为评估构建和应用程序,只有在自上次下载后网页已被修改的情况下,我才需要下载该网页。我需要将上次更改的日期存储为Long,因此方法getDate()返回Long。 我尝试使用HttpURLConnection和URLConnection,但无法实现解决方案。 在我的尝试中,我尝试使用: ,但不知怎的,我没有收到304响应码,只有200响应码。守则: HttpURLConnection huc = null; try { URL url = new URL(pages.get(0).
- ,但不知怎的,我没有收到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
- ,但我无法从响应中检索信息,因为服务器没有响应上次修改的标记
提前感谢您是控制了服务器还是只是随意访问了互联网上的某个站点?必须将服务器配置为返回304并使用ETag。我无法控制服务器,但有没有办法在不下载hole网页并进行比较的情况下执行此操作?我使用内容的大小来查看它是否已更改。。huc.getContentLength();-huc是一个httpurl连接。