有没有办法在网站上获取文件的Last-Modified-Date?
即。这是我在那里的示例文件: http://www.ymcadetroit.org/atf/cf/%7B2101903E-A11A-4532-A64D-9D823368A605%7D/Birmingham_Youth_Sports_Parent_Manual.pdf
答案 0 :(得分:8)
转到您想要了解的网站,等待它完全加载,然后转到地址栏并写下:
javascript:alert(document.lastModified)
您将获得一个弹出窗口,说明上次修改时间。
答案 1 :(得分:6)
HTTP打算Last-Modified
header field声明上次修改日期。但服务器需要知道该日期。
在静态文件上,其内容直接发送到客户端而不是由服务器解释(例如.html
,.css
,.js
)它使用该文件的最后修改日期。但是对于动态生成内容的文件(PHP,Python等),脚本需要自己指定信息。但不幸的是,许多剧本都不这样做。
因此,如果存在Last-Modified
标题字段,则可以使用该信息。但如果没有,则无法确定最后修改日期。
答案 2 :(得分:5)
我意识到这个问题已经有4年了,但是对网络的搜索证明了令人满意的答案仍然很少。彼得的答案是解决方案的一部分。当我遇到同样的问题时,这让我开始了。但其余的解决方案......
正如他所说,必须将Web服务器配置为发送最后修改日期...那么如何配置Web服务器?
假设您具有必要的控制级别,首先需要启用服务器端包含。有几种方法可以做到这一点 - 其中一种是“xbithack”。一个很好的参考是http://httpd.apache.org/docs/current/howto/ssi.html。
假设你已经这样做了,你需要在任何需要解析服务器端包含的html文件上设置执行位。这可以在类UNIX系统的命令行中完成:chmod u+x file.html
或在Mac上使用文件上的get-info(命令-I)完成。
这会使代码段实际放入您的文件中,如下所示:
This document last modified <!--#flastmod file="index.html" -->
由于我发现了许多不包含此内容的建议,并且只是使用了javascript document.lastModified
,我怀疑某些服务器会为您提供您想要的javascript版本,而有些(包括一个托管服务器)我们的东西)不要。
答案 3 :(得分:4)
以下是一些C#代码:
public DateTime GetLastModifyTime(string url)
{
WebRequest request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultNetworkCredentials;
request.Method = "HEAD";
using (WebResponse response = request.GetResponse())
{
string lastModifyString = response.Headers.Get("Last-Modified");
DateTime remoteTime;
if (DateTime.TryParse(lastModifyString, out remoteTime))
{
return remoteTime;
}
return DateTime.MinValue;
}
}
答案 4 :(得分:2)
我认为必须将Web服务器配置为在HTTP标头中发送最后修改日期,这当然是一种方式。查看本文档的最后修改部分14.29:
答案 5 :(得分:2)
要从客户端获取上次修改日期,您可以使用JavaScript使用lastModified
属性访问HTML DOM。
lastModified
属性从所有Web请求发送的头部获取信息。该值可由开发人员在Web服务器端手动设置,因此可能无法反映负责传递内容的文件的实际上次修改日期。
<!DOCTYPE html>
<html>
<body>
<b>document.lastModified : </b>
<script>document.write( document.lastModified );</script>
</body>
</html>
JavaScript中用于检索此内容的特定命令是document.lastModified
,可以轻松转换为Date
对象,如下所示:
var x = new Date(document.lastModified);
的网站上找到更多信息
答案 6 :(得分:0)
只使用简单的HTML,不可以。
您可以使用PHP,ASP或任何其他服务器端语言。
答案 7 :(得分:0)
我不是标题专家,但相信你正在寻找这个:
有一种方法可以检查文件被修改的日期: View HTTP headers in Google Chrome?
在那里检查(Chrome的开发者工具/网络/所选文件/标题)“If-Modified-Since”变量。
到目前为止,这有助于我实现您的要求,获得文件的修改日期。
答案 8 :(得分:0)
您可以执行以下操作以获得Last-Modified: https://superuser.com/a/991895
使用卷曲:
curl -s -v -X HEAD http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
使用wget:
wget --server-response --spider http://example.com/bar/example.pdf 2>&1 | grep -i Last-Modified
答案 9 :(得分:-2)
在php中:
print getlastmod();
print gmdate('D, d M Y H:i:s', getlastmod());