Linux の cURL コマンドと 30 の実用的な例

Linux の cURL コマンドは、HTTP、HTTPS、FTP などのさまざまなプロトコルを使用してサーバーとの間でデータを転送するための強力なツールです。Web リクエストの自動化、API のテスト、インターネットからのファイルのダウンロードによく使用されます。cURL は汎用性が高く、単純なファイルのダウンロードから複雑な複数パートのフォームの送信まで、幅広いタスクを処理できます。

このガイドでは、Linux で cURL コマンドを使用する 30 の実用的な例を紹介します。これらの例では、ファイルのダウンロード、API へのデータの送信、認証の処理などの一般的な使用例を取り上げ、さまざまなタスクにおける cURL の柔軟性とパワーを紹介します。

cURL コマンドの構文

cURL コマンドを使用した 30 個の例を説明する前に、まずその構文を理解しておくことをお勧めします。

curl [options] [URL]

この構文では、

  • オプション: cURL の動作を変更するパラメータです。
  • URL: 操作するファイルまたはリソースのアドレスです。

cURL コマンド オプション

cURL には、動作をカスタマイズできる多くのオプションが用意されています。最もよく使用されるオプションをいくつか示します。

  • -O: 指定された URL からファイルをダウンロードします。
  • -I: サーバーから HTTP ヘッダーを取得します。
  • -u: サーバー認証用のユーザー資格情報を指定します。
  • -d: 指定されたデータを POST リクエストでサーバーに送信します。
  • -x: リクエストに使用するプロキシ アドレスを指定します。

Linux での cURL コマンドの例 30 個

それでは、cURL コマンドの実際の使用例をいくつか見ていきましょう。各例の最初に説明があり、その後に出力のデモンストレーションが続きます。

例 1: URL からデータを取得する

cURL の最も基本的な使用法は、Web ページのコンテンツを取得することです。方法は次のとおりです。

curl https://www.example.com

このコマンドは、www.example.com の Web ページの HTML コンテンツを取得します。

例2: ファイルのダウンロード

cURL はインターネットからファイルをダウンロードするためにも使用できます。次に例を示します。

curl -O https://www.example.com/file.txt

このコマンドは、www.example.com からファイル file.txt をダウンロードし、現在のディレクトリに保存します。

例3: POSTリクエストの送信

cURL を使用して POST リクエストをサーバーに送信できます。方法は次のとおりです。

curl -d "param1=value1&param2=value2" -X POST http://www.example.com

このコマンドは、データ param1=value1¶m2=value2 を含む HTTP POST リクエストを www.example.com に送信します。

例4: HTTPヘッダーの取得

サーバーから HTTP ヘッダーを取得する場合は、-I オプションを使用できます。次に例を示します。

curl -I https://www.example.com

このコマンドは、www.example.com から HTTP ヘッダーを取得します。

例5: プロキシの使用

プロキシを使用する必要がある場合は、-x オプションを使用して指定します。方法は次のとおりです。

curl -x http://proxy.example.com:8080 https://www.example.com

このコマンドは、proxy.example.com:8080 のプロキシを介して www.example.com にリクエストを送信します。

例6: クッキーの送信

-b オプションを使用して、リクエストと一緒に Cookie を送信できます。次に例を示します。

curl -b "name=value" https://www.example.com

このコマンドは、name=value の Cookie を www.example.com に送信します。

例7: ユーザーエージェントの送信

ウェブサイトは、クライアントのブラウザに適したコンテンツを配信するために、ユーザー エージェントを使用することがよくあります。リクエストとともにユーザー エージェントを送信するには、-A オプションを使用します。

curl -A "Mozilla/5.0" https://www.example.com

このコマンドは、ユーザー エージェントを Mozilla/5.0 に設定して、www.example.com にリクエストを送信します。

例8: リダイレクトの追跡

一部の URL は他の URL にリダイレクトされます。これらのリダイレクトに従うには、-L オプションを使用します。

curl -L https://www.example.com

このコマンドは、www.example.com からのリダイレクトに従います。

例9: 出力をファイルに保存する

cURL コマンドの出力をファイルに保存するには、-o オプションを使用します。

curl -o output.html https://www.example.com

このコマンドは、www.example.com の出力を output.html に保存します。

例10: FTPでファイルをアップロードする

cURL は FTP を使用してサーバーにファイルをアップロードできます。方法は次のとおりです。

curl -T file.txt ftp://ftp.example.com --user username:password

このコマンドは、指定されたユーザー名とパスワードを使用して、file.txt を ftp.example.com にアップロードします。

例11: ダウンロードの再開

ダウンロードが中断された場合は、-C – オプションを使用して再開できます。

curl -C - -O https://www.example.com/file.txt

このコマンドは、www.example.com から file.txt のダウンロードを再開します。

例12: 複数のファイルのダウンロード

複数のファイルをダウンロードするには、複数の URL を指定します。

curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt

このコマンドは、www.example.com から file1.txt と file2.txt をダウンロードします。

例13: DELETEリクエストの送信

DELETE リクエストを送信するには、-X DELETE オプションを使用します。

curl -X DELETE https://www.example.com/resource

このコマンドは、URL www.example.com/resource に DELETE リクエストを送信します。

例14: 詳細出力

リクエストとレスポンスの詳細情報を取得するには、-v オプションを使用します。

curl -v https://www.example.com

このコマンドは、www.example.com へのリクエストの詳細な出力を提供します。

例15: サイレントモード

進行状況メーターとエラー メッセージを抑制するには、-s オプションを使用します。

curl -s https://www.example.com

このコマンドは、www.example.com のコンテンツをサイレント モードで取得します。

例16: ダウンロードの進行状況を表示する

ダウンロードの進行状況をより読みやすい形式で表示するには、# オプションを使用します。

curl -# -O https://www.example.com/file.txt

このコマンドは、www.example.com から file.txt をダウンロードし、進行状況を進行状況バーとして表示します。

例17: JSONデータの送信

POST リクエストで JSON データを送信するには、-H オプションを使用してコンテンツ タイプを設定します。

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com

このコマンドは、JSON データを含む POST リクエストを www.example.com に送信します。

例 18: API で cURL を使用する

cURL は API とやり取りするためによく使用されます。次に例を示します。

curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com

このコマンドは、認証ヘッダーを含むリクエストを https://api.example.com に送信します。

例19: バックグラウンドでのファイルのダウンロード

ファイルをバックグラウンドでダウンロードするには、末尾にアンパサンドを付けた -O オプションを使用します。

curl -O https://www.example.com/file.txt &

このコマンドは、バックグラウンドで www.example.com から file.txt をダウンロードします。

例20: ファイルからデータを送信する

POST リクエストでファイルからデータを送信するには、@ 記号を使用します。

curl -d @data.txt -X POST https://www.example.com

このコマンドは、data.txt のデータを含む POST リクエストを www.example.com に送信します。

例 21: FTP サーバーからのコンテンツの取得

cURL を使用すると、FTP サーバーからコンテンツを取得できます。方法は次のとおりです。

curl ftp://ftp.example.com/file.txt --user username:password

このコマンドは、指定されたユーザー名とパスワードを使用して、ftp.example.com から file.txt を取得します。

例 22: パスワードで保護された Web サイトからのコンテンツの取得

パスワードで保護された Web サイトからコンテンツを取得するには、-u オプションを使用します。

curl -u username:password https://www.example.com

このコマンドは、指定されたユーザー名とパスワードを使用して www.example.com からコンテンツを取得します。

例 23: SSL を使用して Web サイトからコンテンツを取得する

SSL を使用して Web サイトからコンテンツを取得するには、-k オプションを使用します。

curl -k https://www.example.com

このコマンドは、SSL 証明書の警告を無視して、www.example.com からコンテンツを取得します。

例24: PUTリクエストの送信

PUT リクエストを送信するには、-X PUT オプションを使用します。

curl -X PUT -d "data" https://www.example.com/resource

このコマンドは、データ「data」を含む PUT リクエストを www.example.com/resource に送信します。

例25: レスポンスヘッダーの取得

応答ヘッダーのみを取得するには、-I オプションを使用します。

curl -I https://www.example.com

このコマンドは、www.example.com からの応答ヘッダーのみを取得します。

例 26: Cookie を使用して Web サイトからコンテンツを取得する

クッキーを使用して Web サイトからコンテンツを取得するには、-b オプションを使用します。

curl -b cookies.txt https://www.example.com

このコマンドは、cookies.txt に保存されている Cookie を使用して www.example.com からコンテンツを取得します。

例 27: カスタムヘッダーを使用して Web サイトからコンテンツを取得する

カスタム ヘッダーを持つ Web サイトからコンテンツを取得するには、-H オプションを使用します。

curl -H "Custom-Header: Value" https://www.example.com

例 28: タイムアウト付きのウェブサイトからコンテンツを取得する

タイムアウト付きの Web サイトからコンテンツを取得するには、-m オプションを使用します。

curl -m 10 https://www.example.com

このコマンドは、10 秒のタイムアウトで www.example.com からコンテンツを取得します。

例 29: 詳細モードでウェブサイトからコンテンツを取得する

詳細モードで Web サイトからコンテンツを取得するには、-v オプションを使用します。

curl -v https://www.example.com

このコマンドは、www.example.com からコンテンツを詳細モードで取得し、要求と応答に関する詳細情報を表示します。

例 30: ウェブサイトからコンテンツを取得し、進捗メーターを表示する

ウェブサイトからコンテンツを取得して進行状況メーターを表示するには、-# オプションを使用します。

curl -# https://www.example.com

このコマンドは、www.example.com からコンテンツを取得し、進行状況メーターを表示します。

結論

これらの実用的な例を使って cURL コマンドをマスターすると、Web サービスとのやり取り、データ転送の自動化、ネットワークの問題のトラブルシューティングを行う能力が大幅に向上します。さまざまな cURL オプションとコマンドを定期的に練習することで、理解が深まり、Linux ワークフローでその可能性を最大限に活用できるようになります。cURL がコマンドライン ツールキットにもたらす汎用性と効率性をお楽しみください。

Joshua James

コメントを残す