Могу ли я использовать wget для проверки, но не для скачивания? - PullRequest
67 голосов
/ 07 июня 2011

Могу ли я использовать wget для проверки 404, а не для загрузки ресурса? Если так, то как? Спасибо

Ответы [ 5 ]

99 голосов
/ 07 июня 2011

Для этого есть параметр командной строки --spider. В этом режиме wget не загружает файлы, и его возвращаемое значение равно нулю, если ресурс был найден, и не равно нулю, если он не был найден. Попробуйте это (в вашей любимой оболочке):

wget -q --spider address
echo $?

Или, если вам нужен полный вывод, оставьте -q выключенным, поэтому просто wget --spider address. -nv показывает некоторый вывод, но не так, как по умолчанию.

21 голосов
/ 30 сентября 2012

Если вы хотите спокойно проверить через $? без хлопот grep'ing вывода wget вы можете использовать:

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

Работает даже на URL с простым путем, но имеет тот недостаток, что что-то действительно загружено, поэтому это не рекомендуется при проверке больших файлов на наличие.

14 голосов
/ 07 июня 2011

Вы можете использовать следующую опцию для проверки файлов:

wget --delete-after URL

10 голосов
/ 07 июня 2011

Да, просто.

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
0 голосов
/ 25 июля 2018

Если вы находитесь в каталоге, где только root имеют доступ для записи в систему.Тогда вы можете напрямую использовать wget www.example.com/wget-test, используя стандартную учетную запись пользователя.Таким образом, он попадет в URL, но из-за отсутствия разрешения на запись файл не будет сохранен .. Этот метод работает нормально для меня, так как я использую этот метод для cronjob.Спасибо.

sthx

...