我可以获得 HTTP 文件修改的日期吗?
我正在尝试检查自上次检查以来文件(在网络上)是否被修改。是否可以通过获取 http 标头来读取上次修改(或上传)文件的时间来做到这一点?
I'm trying to check if a file (on web) was modified since the last time I checked. Is it possible to do this by getting http headers to read the last time the file was modified (or uploaded)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用内置的 Net::HTTP 库来为您完成大部分工作:
如果您愿意,您可以使用 Time.parse 将其转换为正确的日期。
You can use the built-in Net::HTTP library to do most of this for you:
If you want, you can convert that to a proper date using
Time.parse
.正如 @tadman 在他的回答中所说,HTTP“HEAD”请求是检查最后修改日期的正确方法。
您还可以通过使用“IF -*" 修饰符标头。
使用哪个取决于您是否打算立即下载该页面。如果您只想要日期,请使用 HEAD。如果您想要更改内容,请使用带有“IF-*”标头的 GET。
As @tadman says in his answer, a HTTP "HEAD" request is the proper way to check the last modification date.
You can also do it using a conditional GET request using the "IF-*" modifier headers.
Which to use depends on whether you intend to immediately download the page. If you just want the date use HEAD. If you want the content if there has been a change use GET with the "IF-*" headers.