Curl возвращает только код статуса http из командной строки

Curl возвращает только код статуса http из командной строки

У меня есть curl, который считывает данные из файла и отправляет их на сервер, и все работает отлично. Я также успешно получаю ответ.

curl -v '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

Теперь я просто пытаюсь получить код статуса из запроса curl выше вместо полного ответа. Я пробовал сделать как ниже, но это не работает.

curl -v 'url' -H 'Принять-Кодирование: gzip, deflate, br' -H 'Тип-Содержимого: application/json' -H 'Принять: application/json' -H 'Подключение: keep-alive' -H 'DNT: 1' -H 'Происхождение: url' --data-binary "@/Users/david/Downloads/temp.txt" --compressed | head -n 1 | cut -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}'

Связанный контент