52

Я хотел бы отправить запрос HTTP HEAD с помощью wget . Является ли это возможным?

5 ответов5

59

Это не wget, но вы можете сделать это довольно легко, используя curl.

curl -I http://www.superuser.com/

Производит этот вывод:

HTTP/1.1 301 Moved Permanently                        
Content-Length: 144                       
Content-Type: text/html; charset=UTF-8     
Location: http://superuser.com/
Date: Sat, 09 Oct 2010 19:11:50 GMT
35

Пытаться:

wget -S --spider www.example.com

Вы также можете передать -O /dev/null чтобы wget записывал HTTP-ответ в файл.

18

Там нет необходимости для завитка.

С Wget добавление --spider подразумевает, что вы хотите отправить запрос HEAD (в отличие от GET или POST).

Это отличный минималистичный способ проверить, отвечает URL или нет. Например, вы можете использовать это в проверках по сценарию, и операция HEAD гарантирует, что вы не будете загружать ни сеть, ни целевой веб-сервер.

Дополнительная информация: Если Wget получает ошибку HTTP 500 от сервера при выполнении HEAD он затем переходит к выполнению GET того же URL-адреса. Я не знаю причины этого дизайна. По этой причине вы можете увидеть как HEAD и GET запрос, выполняемый на сервере. Если все в порядке, выполняется только запрос HEAD . Вы можете отключить эту функцию с параметром --tries чтобы ограничить Wget только одной попыткой.

В общем, я рекомендую это для тестирования, если URL отвечает:

# This works in Bash and derivatives
wget_output=$(wget --spider --tries 1 $URL  2>&1)
wget_exit_code=$?

if [ $wget_exit_code -ne 0 ]; then
    # Something went wrong
    echo "$URL is not responding"
    echo "Output from wget: "
    echo "$wget_output"
else
    echo "Check succeeded: $URL is responding"
fi
4

wget -S получает файл:

Длина содержимого: 2316, длина: 2316 (2,3 КБ) [текст / обычный], сохранение в: `index.html '

wget --spider получает заголовки:

Режим паука включен. Проверьте, существует ли удаленный файл., Длина: не указано [текст / обычный] Удаленный файл существует.

-1

Хотя это и не wget , во многих установках perl с модулем lwp будет установлена команда HEAD .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .