web-dev-qa-db-ja.com

curlコマンドからHTTPステータスコードのみを返す

[〜#〜] curl [〜#〜]コマンド応答からstatusCodeを取得するだけです。

このコマンドを使用すると:

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

この長い結果ではなく、単に2を取得したい:

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

誰か助けてもらえますか?

7
soroush

-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に送信されることを定義します。これにより、ステータスコードのみが出力され、ページのコンテンツは出力されません。

9
Miuku