HEAD 요청이 있으십니까? HEAD사용 하여 요청 을 보내려고합니다 wget.

HTTP HEAD사용 하여 요청 을 보내려고합니다 wget. 가능합니까?



답변

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

답변

시험:

wget -S --spider www.example.com

파일에 HTTP 응답을 쓰지 -O /dev/null못하도록 전달할 수도 wget있습니다.


답변

curl 필요가 없습니다 .

를 Wget으로 추가하는 것은 --spider당신이 보낼 것을 의미한다 HEAD(반대로 요청을 GET하거나 POST).

이것은 URL이 응답하는지 여부를 확인하는 아주 최소한의 방법입니다. 예를 들어이를 스크립트 검사에 사용할 수 있으며, HEAD작업을 수행하면 네트워크 나 대상 웹 서버에 부하가 걸리지 않습니다.

보너스 정보 : Wget에서 서버에서 HTTP 오류 500을 받으면 동일한 URL에 대해 HEAD수행하도록 이동합니다 GET. 나는이 디자인에 대한 추론을 모른다. 이렇게하면 모두 볼 수 있습니다 이유입니다 HEAD GET 요청이 서버에 대해 수행된다. 아무런 문제가 없으면 HEAD요청 만 수행됩니다. --triesWget을 한 번의 시도로 제한 하는 옵션 으로이 기능을 사용하지 않을 수 있습니다 .

전반적으로 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

답변

wget -S 파일을 얻는다 :

콘텐츠 길이 : 2316, 길이 : 2316 (2.3K) [text / plain], 저장 위치 :`index.html ‘

wget --spider 헤더를 가져옵니다.

스파이더 모드가 활성화되었습니다. 원격 파일이 있는지 확인하십시오., 길이 : 지정되지 않음 [text / plain] 원격 파일이 있습니다.


답변

아니지만 모듈을 사용한 wget많은 perl설치 lwp에는 HEAD명령이 설치됩니다.