2011-07-04 14 views
6

मैं यह जांचने की कोशिश कर रहा हूं कि आखिरी बार मैंने चेक किया था कि एक फ़ाइल (वेब ​​पर) संशोधित की गई थी या नहीं। फाइल को संशोधित (या अपलोड किया गया) पिछली बार पढ़ने के लिए http शीर्षलेख प्राप्त करके ऐसा करना संभव है?क्या मुझे वह तारीख मिल सकती है जब एक HTTP फ़ाइल संशोधित की गई थी?

उत्तर

10

आप का उपयोग में निर्मित Net :: HTTP आप के लिए इस का सबसे करने के लिए पुस्तकालय कर सकते हैं:

require 'net/http' 

Net::HTTP.start('stackoverflow.com') do |http| 
    response = http.request_head('/robots.txt') 

    response['Last-Modified'] 
    # => Sat, 04 Jun 2011 08:51:44 GMT 
end 

यदि आप चाहते हैं, तो आप उस Time.parse का उपयोग कर एक उचित तारीख को बदल सकते हैं।

3

जैसा कि @tadman अपने उत्तर में कहता है, HTTP "HEAD" request अंतिम संशोधन दिनांक की जांच करने का उचित तरीका है।

आप "IF- *" संशोधक शीर्षलेख का उपयोग करके conditional GET request का उपयोग करके इसे भी कर सकते हैं।

उपयोग करने के लिए जो आप इस पृष्ठ पर तुरंत डाउनलोड करना चाहते हैं, इस पर निर्भर करता है। यदि आप बस तारीख का उपयोग करना चाहते हैं। यदि आप सामग्री बदलना चाहते हैं तो "आईएफ- *" हेडर के साथ परिवर्तन का उपयोग किया गया है।

संबंधित मुद्दे