쉘 스크립팅을 사용하여 웹 페이지가 존재하는지 어떻게 확인합니까?
일련의 만화 스캔을 하나의 pdf 파일로 변환 할 수있는 프로그램을 만들려고하는데, 올바른 URL이 있는지 확인하기 위해 사진을 다운로드 할 필요가 없습니다. 웹 페이지가 있는지 확인하는 데 사용할 수있는 셸 스크립팅 명령이 있습니까?
* NIX에서 curl
간단한 HEAD
요청 을 발행하는 데 사용할 수 있습니다 ( HEAD
페이지 본문이 아닌 헤더 만 요청).
curl --head http://myurl/
그런 다음 HTTP 상태 코드 (200 OK, 404 Not Found 등)가 포함 된 첫 번째 줄만 가져올 수 있습니다.
curl -s --head http://myurl/ | head -n 1
그런 다음 적절한 응답을 받았는지 확인하십시오 (상태 코드는 200 또는 3 **).
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."
상태 코드가 정상이면 첫 번째 줄을 출력하고 그렇지 않으면 아무것도 출력하지 않습니다. / dev / null로 파이프하여 출력을 얻지 못하고 $?
작동 여부를 결정하는 데 사용할 수도 있습니다 .
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1
EDIT는 -s
단순히 curl
"진행률 표시 줄"을 표시하지 않도록 지시 합니다.
cURL을 사용하여 상태 코드를 얻고 필수 값을 확인하십시오.
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
먼저 인증 문제가 없는지 확인합니다. 인증이 필요한 경우 사용자 이름과 비밀번호를 제공합니다. 셸 스크립트 파일 (checkURL.sh)을 만들고 아래 코드를 붙여 넣습니다.
이것이 당신을 도울 것입니다.
checkURL.sh
yourURL="http://abc-repo.mycorp.com/data/yourdir"
if curl --output /dev/null --silent --head --fail "$yourURL"
then
echo "This URL Exist"
else
echo "This URL Not Exist"
fi
Nexus 및 기타 저장소에서 나를 위해 일하고 있습니다.
항상 사용할 수 있습니다 wget
. 코드가 더 간단하기 때문에 수행합니다.
if [[ $(wget http://url/ -O-) ]] 2>/dev/null
then echo "This page exists."
else echo "This page does not exist."
fi
-O-
with 옵션을 사용하면 wget
페이지의 내용을 출력하지만 존재하는 경우에만 출력을 시도합니다. 따라서 출력이 없으면 페이지가 존재하지 않습니다. 는 2>/dev/null
단지 휴지통 (모든 존재하는 경우) 출력을 보내는 것이다.
기한이 지난 건 알고 있지만 도움이 되었기를 바랍니다.
wget 또는 cURL 이 작업을 수행합니다. 자세한 내용과 다운로드 위치는 여기 wget 또는 cURL 을 참조하십시오 . 이러한 명령 줄 도구에 URL을 제공하고 응답을 확인합니다.
'IT TIP' 카테고리의 다른 글
Pip-런처의 치명적 오류 : ' "'를 사용하여 프로세스를 생성 할 수 없습니다. (0) | 2021.01.05 |
---|---|
새로 생성 된 개체에 메서드를 연결하는 방법은 무엇입니까? (0) | 2021.01.05 |
현재 시간 10 분 후 datetime을 찾는 방법은 무엇입니까? (0) | 2021.01.05 |
.shape []는 "for i in range (Y.shape [0])"에서 무엇을합니까? (0) | 2021.01.05 |
인터페이스의 모든 방법을 구현하지 않습니다. (0) | 2021.01.05 |