--spiderИменно для этого есть параметр командной строки . В этом режиме wget не загружает файлы, и его возвращаемое значение равно нулю, если ресурс был найден, и ненулевому, если он не был найден. Попробуйте это (в своей любимой оболочке):
wget -q --spider address
echo $?
Или, если вам нужен полный выход, оставьте -qвыключенное, так что просто wget --spider address. -nvпоказывает некоторый результат, но не такой, как по умолчанию.
Обратите внимание, что wget --spiderотправляет запрос HEAD, а не GET.
hammar 07
3
@hammer, я не уверен, какую версию вы могли использовать, но с 1.14 wget --spiderвыполняет HEAD и, в случае успеха, следует GET по тому же URL. Таким образом, с рекурсивным вариантом это полезно для создания кеша для веб-сайта на стороне сервера.
danorton
27
Если вы хотите спокойно проверить через $? без хлопот с выводом команды grep'ing wget вы можете использовать:
Работает даже с URL-адресами, содержащими только путь, но имеет тот недостаток, что что-то действительно загружено, поэтому это не рекомендуется при проверке наличия больших файлов.
Если вы находитесь в каталоге, где только root имеет доступ для записи в system. Затем вы можете напрямую использовать wget www.example.com/wget-testстандартную учетную запись пользователя. Таким образом, он попадет в URL-адрес, но из-за отсутствия файла с правами на запись не будет сохранен .. Этот метод отлично работает для меня, поскольку я использую этот метод для задания cron. Благодарю.
Не следует использовать ... Рискованно, потому что разрешения системного администратора могут изменить и нарушить ваше намерение и бесполезны, когда есть встроенный флаг, например, --spiderкоторый делает именно то, что просит OP,
Ответы:
--spider
Именно для этого есть параметр командной строки . В этом режиме wget не загружает файлы, и его возвращаемое значение равно нулю, если ресурс был найден, и ненулевому, если он не был найден. Попробуйте это (в своей любимой оболочке):Или, если вам нужен полный выход, оставьте
-q
выключенное, так что простоwget --spider address
.-nv
показывает некоторый результат, но не такой, как по умолчанию.источник
wget --spider
отправляет запрос HEAD, а не GET.wget --spider
выполняет HEAD и, в случае успеха, следует GET по тому же URL. Таким образом, с рекурсивным вариантом это полезно для создания кеша для веб-сайта на стороне сервера.Если вы хотите спокойно проверить через $? без хлопот с выводом команды grep'ing wget вы можете использовать:
Работает даже с URL-адресами, содержащими только путь, но имеет тот недостаток, что что-то действительно загружено, поэтому это не рекомендуется при проверке наличия больших файлов.
источник
--spider
Аргумент имеет установить код возврата. Но, возможно, это потому, что через 4 года, 3 месяца и 7 дней паук стал умнее.Вы можете использовать следующую опцию, чтобы проверить файлы:
источник
Да легко.
Это даст вам
источник
Если вы находитесь в каталоге, где только root имеет доступ для записи в system. Затем вы можете напрямую использовать
wget www.example.com/wget-test
стандартную учетную запись пользователя. Таким образом, он попадет в URL-адрес, но из-за отсутствия файла с правами на запись не будет сохранен .. Этот метод отлично работает для меня, поскольку я использую этот метод для задания cron. Благодарю.sthx
источник
--spider
который делает именно то, что просит OP,