wgetを使用して確認できますが、ダウンロードできません


回答:


115

これに--spiderぴったりのコマンドラインパラメータがあります。このモードでは、wgetはファイルをダウンロードせず、リソースが見つかった場合は戻り値がゼロになり、見つからなかった場合は戻り値がゼロ以外になります。これを(お気に入りのシェルで)試してください:

wget -q --spider address
echo $?

または、完全な出力が必要な場合は、-qオフのままにしてくださいwget --spider address-nvいくつかの出力を表示しますが、デフォルトほどではありません。


29
wget --spiderGETではなくHEADリクエストを送信することに注意してください。
hammar 2011年

3
@hammer、使用している可能性のあるバージョンはわかりませんが、1.14ではwget --spiderHEADを実行し、成功した場合は同じURLへのGETを実行します。したがって、再帰オプションを使用すると、サーバー側のWebサイトのキャッシュを構築するのに役立ちます。
danorton 2014年

26

$で静かにチェックしたい場合は?wgetの出力をgrepする手間をかけずに、次のものを使用できます。

wget -q "http://blah.meh.com/my/path" -O /dev/null

パスだけのURLでも機能しますが、実際にダウンロードされるという欠点があるため、大きなファイルの存在を確認する場合はお勧めしません。


--spiderargはないリターンコードを設定します。しかし、それはおそらく、4年3か月7日後にクモが賢くなったためです。
ジョンレッド

Havnは最近それをチェックしていませんが、その間に修正しても驚かないでしょう。
3ronco 2017年


13

はい、簡単です。

wget --spider www.bluespark.co.nz

それはあなたに与えるでしょう

Resolving www.bluespark.co.nz... 210.48.79.121
Connecting to www.bluespark.co.nz[210.48.79.121]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
200 OK

-3

rootのみがシステムに書き込むためのアクセス権を持つディレクトリにいる場合。その後wget www.example.com/wget-test、標準のユーザーアカウントを使用して直接使用 できます。したがって、URLにヒットしますが、書き込み許可ファイルがないため、保存されません。このメソッドはcronジョブに使用しているため、正常に機能しています。ありがとう。

sthx


1
使用すべきではありません...システム管理者からの権限が変更されて意図が--spider
損なわれる
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.