Вернуть только код состояния HTTP из команды curl

Я хочу просто получить statusCode из ответа на команду CURL.

Когда я использую эту команду:

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

Я хочу просто получить 200, а не этот длинный результат:

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

Может кто-нибудь мне помочь?

1 ответ

Решение

Вы можете использовать -w параметр для определения формата curl выходы. Чтобы получить код состояния и ничего больше, используйте что-то вроде этого:

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

Вывод должен выглядеть так:

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

Обратите внимание -o определяет, что выходные данные для страницы будут отправлены в /dev/null - таким образом, он будет печатать только код состояния, а не содержимое страницы.

Другие вопросы по тегам