wget --spider не работает с 404, но работает без --spider

Работает следующее:

ps aux | cut -c1-$(stty size </dev/tty | cut -d' ' -f2)

Это тоже работает:

v=$(stty size | cut -d' ' -f2) ; ps aux | cut -c1-$v

Проблема, похоже, в том, что stty должен иметь tty на стандартном входе, чтобы функционировать. Приведенные выше два подхода решают эту проблему.

Есть еще один вариант. В то время как stdin и stdout stty перенаправляются в приведенных выше командах, stderr не перенаправляется: он по-прежнему указывает на терминал. Как ни странно, stty также будет работать, если ему в качестве входных данных указать stderr:

ps aux | cut -c1-$(stty size <&2 | cut -d' ' -f2)
1
22.04.2019, 07:22
2 ответа

Кажется, ваш вызов wget с --spiderне работает должным образом. Он также должен вернуть HTTP 200, используя запрос HEAD. См. ответ Дарнира .

if I don't use --spider I assume wget will try to download the index.html somewhere right?

Вы можете установить выходной документ с помощью опции -O, если вам нужно конкретное имя файла, например.

wget --quiet --tries=1 -O/tmp/docker.html http://localhost:6077

Или, если вам не нужен вывод, вы можете использовать -O -для вывода результата на стандартный вывод, а затем перенаправить стандартный вывод/stderr на /dev/null.

wget -O - http://localhost:6077 &>/dev/null
1
27.01.2020, 23:41

Принятый ответ кажется неверным и на самом деле помогает вам скрыть ошибку в вашем док-контейнере. Добавление опции --spiderв Wget заставит Wget отправлять запрос HEADвместо GET. Особенно в этом конкретном случае, когда вы не вызываете Wget с --recursive.

Согласно RFC 7231, раздел 4.3.2, запрос HEADидентичен запросу GET, за исключением того, что он не содержит тела сообщения. Однако в вашем случае сервер, похоже, возвращает разные ответы на запросы HEADи GET. Я бы назвал это ошибкой на вашем сервере. Пожалуйста, не запускайте Wget без паука и не заметайте проблему под ковер. Такое поведение противоречит спецификации HTTP и, возможно, приведет к другим проблемам в будущем, поскольку клиенты, подключающиеся к нему, увидят неправильный ответ.

2
27.01.2020, 23:41

Теги

Похожие вопросы