Będziesz musiał pobrać dane ze zdalnej strony, aby uzyskać informacje o pliku. Zwykle odbywa się to za pomocą HEADżądania, ale niektóre (większość?) Serwery nie zaimplementowały go poprawnie i nie dostarczyły całego pliku, podobnie jak wykonanie GETżądania. Zakładając, że curlzainstalowałeś:
curl -s -v -X HEAD http://foo.com/bar/baz.pdf 2>&1| grep '^< Last-Modified:'
może dać ci to, czego chcesz, ale jak już powiedziano, w dużym stopniu zależy to od serwera.
Oczywiście powinno to się zmienić. Jakiś czas temu, kiedy miałem do czynienia z takimi problemami, tak było. Jednak czas mija. Jeśli znajdziesz witryny, na których nadal działają cgi, niezależnie od „aplikacji”, najprawdopodobniej nie są obsługiwane HEAD. Niemniej jednak te strony dadzą ci wynik, ponieważ mają dostarczyć wszystko.
Proponuję za pomocą --headopcji zamiast -X HEADjak jego bardziej lakoniczny więc polecenie będzie stać: curl -s -v --head http://foo.com/bar/baz.pdf 2>&1 | grep '^< Last-Modified:'
@ Hi-Angel Nie, generalnie nie ma. Wget używa nagłówka If-Modified-Since, aby powiedzieć „hej, wyślij ten plik tylko wtedy, gdy jest on nowszy niż ta data”, wtedy to serwer musi wdrożyć i przestrzegać tego nagłówka. Jeśli serwer uważa, że plik się nie zmienił, wysyła odpowiedź 304 NIE ZMODYFIKOWANY.
Odpowiedź serwera zazwyczaj zawiera Last-Modifiedpole, które można sprawdzić bez pobierania pliku. Nie ma potrzeby używania -X HEAD, jest to specjalna opcja -Ido tego (to -sPomija postęp wyjście) :
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.