web-dev-qa-db-fra.com

Renvoyer uniquement un code d'état HTTP à partir de la commande curl

Je veux juste obtenir un statusCode de CURL réponse de la commande.

Lorsque j'utilise cette commande:

curl -I  http://uploadserver.ln/1.mp4

Je veux juste obtenir 2 plutôt que ce long résultat:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Sun, 01 Jul 2018 12:47:02 GMT
Content-Type: video/mp4
Content-Length: 1055736
Last-Modified: Sat, 30 Jun 2018 07:58:25 GMT
Connection: keep-alive
ETag: "5b373821-101bf8"
Accept-Ranges: bytes

Quelqu'un peut-il m'aider?

7
soroush

Vous pouvez utiliser le -w paramètre pour définir le format curl sorties. Pour obtenir le code d'état et rien d'autre, utilisez quelque chose comme ceci:

$ curl -s -o /dev/null -w "%{http_code}" http://xxx.xxx.xxx

La sortie devrait ressembler à ceci:

$ curl -s -o /dev/null -w "%{http_code}" https://www.google.com
200

Noter la -o définit que la sortie de la page sera envoyée à/dev/null - de cette façon, elle n'imprimera que le code d'état et non le contenu de la page.

9
Miuku