wget을 사용하여를 확인할 수 있지만 다운로드 할 수는 없습니다.


답변:


116

--spider이를위한 명령 줄 매개 변수가 있습니다 . 이 모드에서 wget은 파일을 다운로드하지 않으며 리소스가 발견되면 반환 값은 0이고 찾을 수 없으면 0이 아닙니다. 이것을 시도하십시오 (좋아하는 쉘에서) :

wget -q --spider address
echo $?

또는 전체 출력을 원하면 -q끄고 wget --spider address. -nv일부 출력을 표시하지만 기본값 만큼은 표시하지 않습니다.


29
wget --spiderGET이 아닌 HEAD 요청 을 보냅니다.
hammar

3
@hammer, 어떤 버전을 사용했는지 잘 모르겠지만 1.14에서는 wget --spiderHEAD를 수행하고 성공하면 동일한 URL에 대한 GET을 따릅니다. 따라서 재귀 옵션을 사용하면 서버 측 웹 사이트의 캐시를 구축하는 데 유용합니다.
danorton

27

$를 통해 조용히 확인하고 싶다면? grep'ing wget 출력의 번거 로움없이 다음을 사용할 수 있습니다.

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

경로 만있는 URL에서도 작동하지만 실제로 다운로드된다는 단점이 있으므로 큰 파일의 존재 여부를 확인할 때 권장하지 않습니다.


--spiderARG는 않습니다 리턴 코드를 설정합니다. 하지만 아마도 그것은 4 년 3 개월 7 일 후에 거미가 더 똑똑해 졌기 때문일 것입니다.
John Red

Havn은 최근에 그것을 확인하지 않았지만 그동안 고쳐도 놀라지 않을 것입니다.
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

루트 만 시스템에 쓰기 권한이있는 디렉토리에있는 경우. 그런 다음 wget www.example.com/wget-test표준 사용자 계정을 사용 하여 직접 사용할 수 있습니다 . 그래서 그것은 URL을 칠 것이지만 쓰기 권한 파일이 없기 때문에 저장되지 않습니다 ..이 방법은 cronjob 에이 방법을 사용하고 있기 때문에 저에게 잘 작동합니다. 감사.

sthx


1
시스템 관리자의 권한을 변경하고 당신의 의도를 파괴하고 쓸모 수 있기 때문에이있을 때 ... 위험한 사용하지 않아야 내장 플래그 같은 --spider이는 영업 이익은 요청 정확히 수행
누가 복음 Savefrogs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.