특정 파일이 특정 위치에 있는지 확인하려고 하는데 파일이 없으면 이메일 목록으로 이메일을 보내야 합니다. 문제는 파일이 있는지 확인하기 전에 URL(Sharepoint)에서 파일을 다운로드해야 한다는 것입니다.
URL에 파일이 없으면 cURL 명령은 "404 NOT FOUND" 내용이 포함된 파일을 다운로드합니다. 소스에 파일이 없는 경우 cURL 명령이 파일을 다운로드하는 것을 원하지 않습니다. 어떻게 해야 하나요?
cd $file_path
curl -k --ntlm -u $USER_GROUP:$PASS -O http://sharepoint.com/sites/dummy/file_list.txt
이것은 내가 사용하는 다운로드 명령입니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사해요.
답변1
스위치를 추가하면 -f
원하는 효과를 얻을 수 있습니다.
curl
매뉴얼 에서 :
-f/--fail (HTTP) 서버 오류가 발생하면 자동으로 실패합니다(출력 없음). 이는 실패한 시도를 더 잘 처리하기 위해 스크립트 등을 더 잘 활성화하기 위해 주로 수행됩니다.일반적인 상황에서 HTTP 서버가 문서를 전달할 수 없으면 상황을 설명하는 HTML 문서를 반환합니다(일반적으로 이유와 추가 정보도 설명). 이 플래그는 컬이 이 내용을 출력하지 못하게 하고 오류 22를 반환합니다.
이 방법은 안전하지 않으며 특히 인증이 관련된 경우 실패한 응답 코드(응답 코드 401 및 407)를 놓치는 경우가 있습니다.