知っておくとちょっと便利!curl コマンドのオプションをちょっと詳しくご紹介

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/
    今号では、curl コマンドのオプションについてちょっと詳しくご紹介します!

    2022年 7月 27日にご紹介した「知っておくとちょっと便利!curl コマンドの使い方をご紹介
    では、よく使用されると考えられるオプションの意味や使い方について簡単にご説明しましたが、
    今回は表示される内容を、ちょっと掘り下げて見ていきます。

    • -o オプション (コンテンツをファイル出力する)

      取得したコンテンツをファイル出力します。
      各項目の意味について、それぞれ確認していきます。

      $ curl http://example.com -o examplefile
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100    27  100    27    0     0   3879      0 --:--:-- --:--:-- --:--:--  4500
      $ cat examplefile
      This is example index page
      

      Time という項目が 3つあるため、それぞれ色を変更して表示しています。

      % Total: 全データ量に対する、ダウンロード済みデータ量の割合
      % Received: 受信した全データ量に対する、ダウンロード済みデータ量の割合
      % Xferd: 送信する全データ量に対する、送信済みデータ量の割合
      Average Speed: ダウンロードもしくはアップロードの平均速度 (1秒あたり)
      Time: これまでにかかった時間
      Time: 全体のダウンロードもしくはアップロード時間
      Time: 残りのダウンロードもしくははアップロード時間
      Current: 現在のダウンロードもしくはアップロード速度 (1秒あたり)

    • -v オプション (コンテンツ取得時の詳細なログを表示する)

      コンテンツを取得した際の詳細なログ (レスポンスヘッダの内容や HTTP ステータスコード等) を表示します。
      各項目の意味について、それぞれ確認していきます。

      $ curl -v http://example.com
      1  * About to connect() to example.com port 80 (#0)
      2  *   Trying 127.0.0.1...
      3  * Connected to example.com (127.0.0.1) port 80 (#0)
      4  > GET / HTTP/1.1
      5  > User-Agent: curl/7.29.0
      6  > Host: example.com
      7  > Accept: */*
      8  >
      9  < HTTP/1.1 200 OK
      10  < Date: Wed, 20 Jul 2022 20:12:42 GMT
      11  < Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
      12  < Last-Modified: Wed, 20 Jul 2022 19:15:01 GMT
      13  < ETag: "1b-5e4416af2a4ab"
      14  < Accept-Ranges: bytes
      15  < Content-Length: 27
      16  < Content-Type: text/html; charset=UTF-8
      17  <
      18  This is example index page
      19  * Connection #0 to host example.com left intact
      

      ※各項目についての説明をするため、左に番号を記載しています。
      1 行目: 接続しようとしている URL (example.com) およびポート (80)
      2 行目: 接続しようとしている IP アドレス (127.0.0.1)
      3 行目: 記載の URL (example.com)、IP (127.0.0.1) に接続完了
      4 ~ 8 行目: リクエストヘッダの内容
        4 行目: HTTP メソッド (GET)、HTTPバージョン (1.1)
        5 行目: curl のバージョン (7.29.0)
        6 行目: リクエスト先のホスト名
        7 行目: レスポンスを受け取る際に、受け入れを許可するコンテンツタイプ
            (この場合、すべてのコンテンツタイプを許可)
      9 ~ 17 行目: レスポンスヘッダの内容
        9 行目: HTTPバージョン (1.1)、ステータスコード (200)、ステータスメッセージ (OK)
        10 行目: レスポンスヘッダが作成された日時
        11 行目: Web サーバ (この場合は Apache)、および OpenSSL のバージョン
        12 行目: コンテンツの最終更新日時
        13 行目: エンティティタグ (コンテンツの識別子)
        14 行目: Range に対応している (コンテンツの特定部分のみをリクエストできる) 旨を示す
        15 行目: レスポンスボディのサイズ (単位:byte)
        16 行目: レスポンスボディの種類 (この場合は HTML 形式)、および文字エンコード
            (この場合は UTF-8)
      18 行目: コンテンツの内容

    なお、-I オプション を指定した際に出力される内容と、上記 9 ~ 17 行目で表示される
    内容は同じものになっています。

    $ curl -I http://example.com
    HTTP/1.1 200 OK
    Date: Wed, 20 Jul 2022 20:14:49 GMT
    Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
    Last-Modified: Wed, 20 Jul 2022 19:15:01 GMT
    ETag: "1b-5e4416af2a4ab"
    Accept-Ranges: bytes
    Content-Length: 27
    Content-Type: text/html; charset=UTF-8
    
    アバター画像
    About 貝野 友香 71 Articles
    OSSよろず相談室でサポートをやっています。時々ライブ配信や勉強会に出ていることもあります。
    ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

    役に立った 役に立たなかった

    0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる