URLがいつ更新されたかを確認するコマンドラインツールはありますか?

URLがいつ更新されたかを確認するコマンドラインツールはありますか?

HTTPヘッダーを使用して最後に変更されたタイミングを確認するためにURLを照会するためにPythonに何かをまとめることは間違いなく可能です。しかし、これを行うための既存のツールがあるかどうか疑問に思います。私は次のことを想像します:

% 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やカールが私に必要なものを持っていないと思いますが、それが間違っていることが判明しても驚かないでしょう。そこにそのようなものはありますか?

ベストアンサー1

これは目的の操作を実行するようです(応答データのレコード区切り文字として '\ 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

おすすめ記事