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

Ответы:

116

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

wget -q --spider address
echo $?

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

Шадикка
источник
29
Обратите внимание, что wget --spiderотправляет запрос HEAD, а не GET.
hammar 07
3
@hammer, я не уверен, какую версию вы могли использовать, но с 1.14 wget --spiderвыполняет HEAD и, в случае успеха, следует GET по тому же URL. Таким образом, с рекурсивным вариантом это полезно для создания кеша для веб-сайта на стороне сервера.
danorton
27

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

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

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

3ronco
источник
--spiderАргумент имеет установить код возврата. Но, возможно, это потому, что через 4 года, 3 месяца и 7 дней паук стал умнее.
Джон Ред
Недавно не проверял, но не удивлюсь, если исправят.
3ronco
16

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

wget --delete-after URL
Парикшит
источник
14

Да легко.

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 имеет доступ для записи в system. Затем вы можете напрямую использовать wget www.example.com/wget-testстандартную учетную запись пользователя. Таким образом, он попадет в URL-адрес, но из-за отсутствия файла с правами на запись не будет сохранен .. Этот метод отлично работает для меня, поскольку я использую этот метод для задания cron. Благодарю.

sthx

Админ Взлом
источник
1
Не следует использовать ... Рискованно, потому что разрешения системного администратора могут изменить и нарушить ваше намерение и бесполезны, когда есть встроенный флаг, например, --spiderкоторый делает именно то, что просит OP,
Люк Сэйвфрогс