Command-Line
用於檢查 URL 何時更新的命令行工具?
當然可以在 Python 中使用 HTTP 標頭來查詢 URL 以查看上次修改的時間,但我想知道是否有現有的工具可以為我做到這一點?我會想像這樣的事情:
% checkurl http://unix.stackexchange.com/questions/247445/ Fri Dec 4 16:59:28 EST 2015
或許:
% checkurl "+%Y%m%d" http://unix.stackexchange.com/questions/247445/ 20151204
作為鈴聲和/或口哨。我不認為 wget 或 curl 有我需要的東西,但是被證明是錯誤的我不會感到驚訝。外面有這樣的東西嗎?
這似乎符合您的要求(更新為使用 ‘\r\n’ 作為響應數據的記錄分隔符):
#!/bin/sh get_url_date() { curl --silent --head "${1:?URL ARG REQUIRED}" | awk -v RS='\r\n' ' /Last-Modified:/ { gsub("^[^ ]*: *", "") print exit } ' } unset date_format case $1 in (+*) date_format="$1" shift ;; esac url_date="$(get_url_date "${1:?URL ARG REQUIRED}")" if [ -z "$url_date" ] then exit 1 fi if [ "$date_format" != "" ] then date "$date_format" -d"$url_date" else echo "$url_date" fi
Perl 單行:
% perl -MLWP::Simple -MDate::Format -e 'print time2str "%C\n", (head $ARGV[0])[2]' http://example.com Sat Aug 10 02:54:35 EEST 2013
在現代 Linux 或 FreeBSD 系統上,可能已經安裝了它所需的模組。