명령줄에서 http 상태 코드만 반환하는 Curl

명령줄에서 http 상태 코드만 반환하는 Curl

파일에서 데이터를 읽고 서버에 게시하는 컬이 아래에 있으며 모든 것이 잘 작동합니다. 응답도 성공적으로 받았습니다.

컬 -v 'url' -H '수락-인코딩: gzip, deflate, br' -H '콘텐츠 유형: 애플리케이션/json' -H '수락: 애플리케이션/json' -H '연결: 연결 유지' -H 'DNT: 1' -H '원본: url' --data-binary "@/Users/david/Downloads/temp.txt" --compressed

이제 전체 응답 대신 위의 컬 요청에서 상태 코드를 얻으려고 합니다. 아래와 같이 해보았으나 잘 되지 않습니다.

컬 -v 'url' -H '수락-인코딩: gzip, deflate, br' -H '콘텐츠 유형: 애플리케이션/json' -H '수락: 애플리케이션/json' -H '연결: 연결 유지' -H 'DNT: 1' -H '원본: url' --data-binary "@/Users/david/Downloads/temp.txt" --compressed | 헤드 -n 1 | 잘라내기 -d$' ' -f2

위 명령에 문제가 있습니까?

답변1

제거 -v및 추가--silent, 다음을 사용하여 stdout을 폐기합니다.--output /dev/null 다음을 사용하여 http 상태를 인쇄합니다.--write-out '%{http_code}'(짧게 -s -o /dev/null -w '%{http_code}'):

curl 'url' \
  -H 'Accept-Encoding: gzip, deflate, br' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Connection: keep-alive' \
  -H 'DNT: 1' \
  -H 'Origin: url' \
  --data-binary "@/Users/david/Downloads/temp.txt" \
  --compressed \
  --silent \
  --output /dev/null \
  --write-out '%{http_code}'

관련 정보