cURL を使用して HTTP ヘッダーを送信することは、API または Web サービスを使用する人にとって基本的なスキルです。 HTTP ヘッダーは、コンテンツ タイプ、承認など、リクエストに関する重要な情報を伝えます。 cURL は HTTP リクエストを作成するための強力なコマンドライン ツールであり、これらのヘッダーを簡単にカスタマイズして送信できます。このガイドでは、cURL を使用して HTTP ヘッダーを送信するプロセスを、さまざまな実践的な例とともに説明します。
前提条件
例に入る前に、cURL がシステムにインストールされていることを確認してください。次のコマンドを実行して、インストールされているかどうかを確認できます。
curl --version
インストールされていない場合は、公式 cURL Web サイトからダウンロードできます。
基本的な cURL 構文
cURL を使用して HTTP リクエストを送信するための基本的な構文は次のとおりです。
curl [options] [URL]
リクエストに HTTP ヘッダーを含めるには、-H または –header オプションの後にヘッダー情報を指定します。
例 1: カスタム ヘッダーを含む GET リクエストの送信
カスタム ヘッダーを含む、仮説的な API への単純な GET リクエストから始めましょう。 API キーに「Authorization」ヘッダーを含めたいとします。
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
YOUR_API_KEY を実際の API キーに置き換えます。
例 2: JSON データを含む POST リクエストの送信
この例では、JSON ペイロードとカスタム コンテンツ タイプ ヘッダーを含む POST リクエストを送信します。
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
このコマンドは、リクエスト メソッドを POST (-X POST) として指定し、コンテンツ タイプを JSON (-H “Content-Type: application/json”) に設定し、-d で JSON データを含めます。
例 3: 複数のヘッダーの設定
1 つの cURL リクエストに複数のヘッダーを含めることができます。ここでは、「Authorization」ヘッダーと「User-Agent」ヘッダーの両方を含むリクエストを送信しています。
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
例 4: Cookie の送信
リクエストとともに Cookie を送信するには、-b または –cookie オプションの後に Cookie データを指定します。
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
この例では、「セッション」と「設定」という 2 つの Cookie を送信します。
例 5: リダイレクトの追跡
デフォルトでは、cURL は HTTP リダイレクトに従いません。リダイレクト追跡を有効にするには、-L または –location オプションを使用します。
curl -L https://example.com
このコマンドはリダイレクトに従い、最終ページのコンテンツを表示します。
例 6: カスタム ユーザー エージェントの送信
リクエストを識別するためにカスタム User-Agent ヘッダーを設定できます。
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
カスタム User-Agent ヘッダーは、特定のユーザー エージェントを必要とする API と対話する場合に便利です。
例 7: データなしのリクエスト ヘッダーの送信
リクエスト本文のないヘッダーを送信する必要がある場合は、-I または –head オプションを使用できます。
curl -I https://api.example.com/resource
このコマンドは HEAD リクエストを送信します。このリクエストはヘッダーのみをフェッチし、実際のコンテンツはフェッチしません。
例 8: 基本認証の送信
HTTP 基本認証資格情報を送信するには、Base64 でエンコードされたユーザー名とパスワードを含む「Authorization」ヘッダーを含めることができます。
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
BASE64_ENCODED_CREDENTIALS を Base64 でエンコードされたユーザー名とパスワード (例: ユーザー名:パスワード) に置き換えます。
例 9: デバッグと詳細モード
問題のトラブルシューティングを行ったり、HTTP 要求と応答を検査したりする場合は、-v または –verbose オプションを使用して cURL の冗長モードを使用できます。
curl -v https://api.example.com/resource
これにより、ヘッダーを含むリクエストとレスポンスに関する詳細情報が表示されます。
cURL を使用して HTTP ヘッダーを送信することは、Web サービスや API を操作するための重要なスキルです。このガイドで提供されている例を使用すると、リクエストのカスタマイズ、認証の処理、Cookie の送信などを行うことができます。 cURL の機能に慣れると、さまざまな Web サービスを効果的に操作できるようになります。
cURL とは何ですか? なぜ cURL で HTTP ヘッダーを送信する必要があるのですか?
cURL は、Web サーバーに HTTP リクエストを行うためのコマンドライン ツールです。 Web サービスまたは API と対話するときに、認証の提供、コンテンツ タイプの指定、Cookie の処理、リクエストのカスタマイズを行うために、cURL を使用して HTTP ヘッダーを送信する必要がある場合があります。
cURL リクエストにカスタム ヘッダーを含めるにはどうすればよいですか?
-H または --header オプションの後にヘッダー情報を指定すると、cURL リクエストにカスタム ヘッダーを含めることができます。例えば:
curl -H “認可: Bearer YOUR_API_KEY” https://api.example.com/resource
1 つの cURL リクエストで複数のヘッダーを送信できますか?
はい、複数の -H オプションを指定すると、単一の cURL リクエストで複数のヘッダーを送信できます。例えば:
カール -H “ヘッダー 1: 値 1” -H “ヘッダー 2: 値 2” https://api.example.com/resource
cURL リクエストで Cookie を送信するにはどうすればよいですか?
リクエストとともに Cookie を送信するには、-b または –cookie オプションの後に Cookie データを指定します。以下に例を示します。
カール -b "セッション = 12345;設定=ダークモード」 https://api.example.com/dashboard
cURL リクエストとレスポンスに関する詳細情報を表示するにはどうすればよいですか?
cURL リクエストとレスポンスに関するヘッダーを含む詳細情報を表示するには、-v または –verbose オプションを使用します。以下に例を示します。
カール -v https://api.example.com/resource
これらの FAQ は、cURL で HTTP ヘッダーを送信する際の基本事項と、Web サービスや API を使用する際の認証、ヘッダーのカスタマイズ、トラブルシューティングなどのさまざまなタスクの実行方法を理解するのに役立ちます。
HTTP 基本認証とは何ですか? cURL を使用して送信するにはどうすればよいですか?
HTTP 基本認証は、ユーザー名とパスワードの資格情報を提供する方法です。 cURL で送信するには、次のように Base64 でエンコードされた資格情報を含む「Authorization」ヘッダーを含めます。
curl -H “認可: 基本 BASE64_ENCODED_CREDENTIALS” https://api.example.com/resource
cURL リクエストにカスタム User-Agent ヘッダーを設定するにはどうすればよいですか?
-H オプションを使用して、カスタム User-Agent ヘッダーを設定できます。例えば:
curl -H “ユーザーエージェント: MyCustomApp/1.0” https://api.example.com/resource
cURL の -L または -location オプションの目的は何ですか?
cURL の -L または --location オプションは、HTTP リダイレクトの自動フォローを有効にするために使用されます。 URL が別の場所にリダイレクトされる場合、cURL はリダイレクトに従い、最終 URL からコンテンツを取得します。
コメント (0)
まだコメントはありません。あなたが最初のコメントを投稿できます!