2011-07-04 13 views

Odpowiedz

10

można użyć wbudowanego w Net :: HTTP biblioteki zrobić większość to dla ciebie:

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 

Jeśli chcesz, można przekonwertować do odpowiedniego terminu przy użyciu Time.parse.

3

Jak mówi @tadman w swojej odpowiedzi, właściwym sposobem sprawdzenia daty ostatniej modyfikacji jest HTTP "HEAD" request.

Można to również zrobić przy użyciu conditional GET request za pomocą nagłówków modyfikujących "IF- *".

Który użyć, zależy od tego, czy masz zamiar natychmiast pobrać stronę. Jeśli chcesz tylko użyć daty HEAD. Jeśli chcesz, aby zawartość została zmieniona, użyj GET z nagłówkami "IF- *".

Powiązane problemy