curlコマンドの--verboseオプションの見方を解説
目次
スポンサードリンク
curlコマンドとは
curlコマンドはサーバーとの間でデータ転送するためのツールです。用途の似たコマンドに wgetコマンドがありますが、wgetコマンドと比較してcurlコマンドは対応するプロトコルが豊富な点が特徴です。
curlコマンドの基本構文は以下です。コマンドの後にオプション、HTTPやFTPなどのプロトコルで通信するサーバーのURLを入力します。
curl [オプション] [URL]
–verboseオプションを指定すると、各種ヘッダー情報などの追加情報を表示することができます。
–verboseオプション を指定した際の出力の見方
–verboseオプション を指定すると以下のように各種ヘッダーや追加情報が表示されます。それらの情報は標準エラー出力に出力されます。
URLの後に続く、 1> /dev/null は、標準出力を表示しない指定です。標準出力にはURLで指定したページのHTMLソースなどレスポンスボディ部分が出力されますが、今回はヘッダー情報などを見やすいように非表示にしました。
[root@hostname tmp]# curl --verbose https://uchy.me/blog/ 1> /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* About to connect() to uchy.me port 443 (#0)
* Trying 49.212.235.185...
* Connected to uchy.me (49.212.235.185) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=uchy.me
* start date: Apr 28 15:45:03 2024 GMT
* expire date: Jul 27 15:45:02 2024 GMT
* common name: uchy.me
* issuer: CN=R3,O=Let's Encrypt,C=US
> GET /blog/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: uchy.me
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 22 May 2024 14:46:32 GMT
< Content-Type: text/html
< Content-Length: 20774
< Connection: keep-alive
< Last-Modified: Wed, 22 May 2024 14:01:32 GMT
< ETag: "5126-6190b5f272700"
< Accept-Ranges: bytes
<
{ [data not shown]
100 20774 100 20774 0 0 106k 0 --:--:-- --:--:-- --:--:-- 106k
* Connection #0 to host uchy.me left intact
「>」で始まる行はcurlによって送信された「ヘッダーデータ」です。 リクエストライン「GET /blog/ HTTP/1.1」に始まり、リクエストヘッダー情報が続きます。
「<」はcurlによって受信された、通常では隠されている「ヘッダーデータ」です。レスポンスヘッダーのヘッダー名と値がコロンで区切られ表示されています。
「*」で始まる行は、curl によって提供される追加情報です。TLS handshakeやサーバー証明書に関する情報などが表示されています。
その他の情報として、ヘッダー情報の前後に、サイズや経過時間などダウンロードの進捗が表示されています。進捗の表示が邪魔な場合は、–silent オプションを付けると非表示にできます。
[root@hostname tmp]# curl --verbose --silent https://uchy.me/blog/ 1> /dev/null
* About to connect() to uchy.me port 443 (#0)
* Trying 49.212.235.185...
* Connected to uchy.me (49.212.235.185) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=uchy.me
* start date: Apr 28 15:45:03 2024 GMT
* expire date: Jul 27 15:45:02 2024 GMT
* common name: uchy.me
* issuer: CN=R3,O=Let's Encrypt,C=US
> GET /blog/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: uchy.me
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 22 May 2024 14:56:03 GMT
< Content-Type: text/html
< Content-Length: 20774
< Connection: keep-alive
< Last-Modified: Wed, 22 May 2024 14:01:32 GMT
< ETag: "5126-6190b5f272700"
< Accept-Ranges: bytes
<
{ [data not shown]
* Connection #0 to host uchy.me left intact
Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。
Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。
Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法
- RHEL系Linuxでリポジトリを一覧表示するコマンド(dnf repolist)