Tworzę prosty skrypt Bash, aby wyodrębnić godzinę / datę modyfikacji pliku zdalnego pliku przez HTTP.
Przykładowy plik: http://example.com/bar/example.pdf
Czy można to zrobić bez pobierania rzeczywistego pliku? Jeśli nie, jaka jest najlepsza alternatywa?
HEAD
. Niemniej jednak te strony dadzą ci wynik, ponieważ mają dostarczyć wszystko.--head
opcji zamiast-X HEAD
jak jego bardziej lakoniczny więc polecenie będzie stać:curl -s -v --head http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
curl -svX HEAD
jest jeszcze bardziej zwięzły ...Odpowiedź serwera zazwyczaj zawiera
Last-Modified
pole, które można sprawdzić bez pobierania pliku. Nie ma potrzeby używania-X HEAD
, jest to specjalna opcja-I
do tego (to-s
Pomija postęp wyjście) :Również w moim przypadku nie ma zainstalowanego curl (robię skrypt dla urządzenia osadzonego) , po prostu
wget
. Sposób z wget to:W
--server-response
drukuje nagłówki, oraz--spider
opcja wymusza, aby nie pobierać strony, ale raczej sprawdzić ich istnienie.źródło
curl
lepsza odpowiedź niż zaakceptowana. Być może używaniegrep -i
„ostatniej modyfikacji” ma często inny przypadek.