Curl para devolver solo el código de estado http desde la línea de comando

Curl para devolver solo el código de estado http desde la línea de comando

Tengo curl debajo que lee datos de un archivo y los publica en el servidor y todo funciona bien. También recibo la respuesta con éxito.

curl -v 'url' -H 'Aceptar-Codificación: gzip, deflate, br' -H 'Tipo de contenido: aplicación/json' -H 'Aceptar: aplicación/json' -H 'Conexión: mantener vivo' -H 'DNT: 1' -H 'Origen: url' --data-binary "@/Users/david/Downloads/temp.txt" --comprimido

Ahora solo estoy intentando obtener el código de estado de la solicitud curl anterior en lugar de la respuesta completa. Intenté hacer lo siguiente pero no funciona.

curl -v 'url' -H 'Aceptar-Codificación: gzip, deflate, br' -H 'Tipo de contenido: aplicación/json' -H 'Aceptar: aplicación/json' -H 'Conexión: mantener vivo' -H 'DNT: 1' -H 'Origen: url' --data-binary "@/Users/david/Downloads/temp.txt" --comprimido | cabeza -n 1 | cortar -d$' ' -f2

¿Hay algún problema con mi comando anterior?

Respuesta1

Quitar -vy agregar--silent, descarte la salida estándar con--output /dev/null e imprimir el estado http con--write-out '%{http_code}'(en breve -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}'

información relacionada