LINEで個別相談
linux 2026-03-05

curlコマンドとは?Web APIのテストやHTTP・JSON通信の実践例

URLを叩いて様々なリクエストを送信できる「curl」コマンドについて、REST APIのテスト(GET/POST)やヘッダー確認などの実務での使い方を解説。

curlコマンドとは?

curl(カール)は、コマンドライン(ターミナル)からさまざまなプロトコル(主にHTTPやHTTPS)を使ってURLとデータの送受信を行うためのツールです。 「Client URL」に由来しており、ブラウザを開かなくてもWebページの内容を取得したり、サーバーにデータを送信したりすることができます。

主な役割とメリット

Webアプリケーション(特にREST API)の開発において、自分が作ったAPIが正しく動作するかどうかを手軽にテストする「デバッグツール」として最強の威力を発揮します。

どのような場面で使われるか

シェルスクリプトの中から外部のAPIを叩いてデータを取ってきたり、障害時にWebサーバーがどんなHTTPステータスコード(200 OK や 500 Errorなど)を返しているかヘッダーだけを確認する際に利用されます。

実務でよく使うオプションとAPIテスト

  • 単純なGETリクエスト: curl https://example.com/api/users
  • POSTリクエストでJSONを送信する: REST APIにデータを新規登録する際に非常によく使う構文です。 curl -X POST -H "Content-Type: application/json" -d '{"name":"Taro", "age":25}' https://example.com/api/users
    • -X POST: HTTPメソッドをPOSTに指定
    • -H: HTTPヘッダーを指定(今回は中身がJSONであることを通知)
    • -d: 送信するデータ本体(ペイロード)を指定
  • HTTPヘッダー情報の確認 (-I): curl -I https://example.com ページ本体(HTML文書)は取得せず、サーバーの種類(Nginxなど)やステータスコードだけを素早く確認します。
  • アクセス結果をファイルに保存 (-o, -O): curl -O https://example.com/file.zip (wgetコマンドの代わりとして使われます)

実務上の注意点

curlの結果で返ってくるJSONは通常1行で出力されるため、人間には非常に読みづらいです。 実務では jq というコマンドと組み合わせて、curl https://api.example.com | jq のように実行し、JSONをきれいに整形(フォーマット)して表示するのが定石です。

よくあるエラーやトラブルシュート

  • Connection refused: サーバーが落ちているか、指定したポート(例: 8080)でWebサーバーのアプリケーションが起動していない場合に発生します。
  • 証明書エラー(SSL certificate problem): オレオレ証明書など、信頼できないSSL証明書を使っているAPIを叩くとはじかれます。-k(または --insecure)オプションをつけることでエラーを無視して接続を強行できます(テスト用途のみ)。

まとめ

curlコマンドを使いこなせるかどうかで、バックエンド開発やAPI連携時のデバッグスピードが劇的に変わります。PostmanなどのGUIツールも便利ですが、サーバー上でサッと確認できるcurlの構文(特にJSONのPOST方法)は暗記しておいて損はありません。

関連する用語 (linux)

全12件を見る

git stash コマンドの使い方(作業の一時避難)

コミットせずに今の作業を一時保存できる `git stash` コマンドの使い方(保存・復元・一覧・削除)を実務ベースで解説します。

詳しく読む

grepコマンドとは?ログ調査やファイル検索の実践的な使い方を解説

Linuxの検索コマンド「grep」の基礎から、正規表現を使った高度な検索、実務でのログ調査テクニックまで詳しく解説します。

詳しく読む

git rebase と git merge の違い・使い分け

コミット履歴を綺麗に保つための `git rebase` の仕組みと、`merge` との決定的な違い、実務での使い分けについて図解します。

詳しく読む

Gitのコンフリクト(競合)解消のやり方

複数人で同じファイルを編集して `git merge` や `git pull` した際に発生する「コンフリクト」の直し方と安全な運用方法を解説します。

詳しく読む

Gitの Detached HEAD の意味と直し方

ブランチ名ではなく特定のコミットIDを直接チェックアウトした状態「Detached HEAD」から、安全に元のブランチに戻る方法を解説します。

詳しく読む

pingコマンドとは?ネットワーク疎通確認の仕組みと実務での活用

ネットワークの基本コマンド「ping」について、サーバー間の通信が届いているかを確認する仕組みとトラブルシューティングの初動対応を解説。

詳しく読む

Sponsored Link

バグ・要望を報告する