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