新着 |APIを1回呼び出すだけで、整形済みデータを取得。スクレイパーは不要です。無料トークン10,000個を獲得 →

cURLを使用してHTTPヘッダーを送信する方法:例を交えた完全ガイド

この包括的なガイドで、cURL を使った HTTP ヘッダーの送受信をマスターしましょう。例、カスタムヘッダー、トラブルシューティングのヒントなどを紹介します。

公開日2023年9月21日
更新日2025年5月28日
読了時間1 分

cURLでHTTPヘッダーを送信することは、APIやウェブサービスを扱う誰もが身につけるべき基本的なスキルです。HTTPヘッダーはコンテンツタイプ、認可情報など、リクエストに関する重要な情報を伝えます。HTTPリクエストを作成するための強力なコマンドラインツールであるcURLは、これらのヘッダーをカスタマイズして簡単に送信できます。本ガイドでは、cURLを使用したHTTPヘッダー送信プロセスについて、実践的な例を含めて説明します。

cURLを使用してHTTPヘッダーを送信する方法:例を交えた完全ガイド

前提条件#

例を見る前に、システムにcURLがインストールされていることを確認してください。以下のコマンドを実行することでインストール状況を確認できます:

curl --version

インストールされていない場合は、公式cURLウェブサイトからダウンロードできます。

基本的なcURL構文#

HTTPリクエストをcURLで送信する基本的な構文は次のとおりです:

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: 複数のヘッダーの設定#

単一のcURLリクエストに複数のヘッダーを含めることができます。ここでは「Authorization」と「User-Agent」の両方のヘッダーを含むリクエストを送信しています。

curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource

例4:クッキーの送信#

リクエストでクッキーを送信するには、-bまたは—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の送信#

カスタム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を使用してHTTPヘッダーを送信する方法:例を交えた完全ガイド