Curl은 명령줄에서 http 상태 코드만 반환합니다.

Curl은 명령줄에서 http 상태 코드만 반환합니다.

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

컬 -v 'url' -H '인코딩 허용: gzip, deflate, br' -H '콘텐츠 유형: application/json' -H '승인: application/json' -H '연결: 연결 유지' -H 'DNT :1' -H '소스: url' --data-binary "@/Users/david/Downloads/temp.txt" --compression

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

컬 -v 'url' -H '인코딩 허용: gzip, deflate, br' -H '콘텐츠 유형: application/json' -H '승인: application/json' -H '연결: 연결 유지' -H 'DNT: 1' -H 'source:url' --data-binary "@/Users/david/Downloads/temp.txt" --compression|header-n 1|cut-d$''-f2

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

답변1

삭제 -v및 추가--silent, 표준 출력 폐기--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}'

관련 정보