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.zipwgetコマンドの代わりとして使われます)

実務上の注意点

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方法)は暗記しておいて損はありません。

おすすめの高速レンタルサーバー PR

関連する用語 (linux)

全12件を見る

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

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

詳しく読む

tailコマンドとは?リアルタイムなログ監視の実務テクニックを解説

ファイルの末尾を表示する「tail」コマンドについて、-fオプションを使ったリアルタイムなログ監視やエラー調査の基本を解説します。

詳しく読む

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

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

詳しく読む

chmodコマンドとは?Linuxの権限(パーミッション)変更を分かりやすく解説

Linuxの必須コマンド「chmod」について、777や644といった数字の意味から、実務でよく使う権限設定の定石まで徹底解説します。

詳しく読む

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

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

詳しく読む

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

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

詳しく読む
☁️

開発者向け 高速VPSサーバー

初期費用 無料!

DockerやWebアプリ開発に最適な超高速VPS。月額ワンコインから利用可能。

VPSの料金プランを見る

PR: スポンサーリンク

法人・個人向けサポート 受付中

インフラ構築やトラブル対応で お困りではありませんか?

AWSの構築、社内ネットワーク(VPN/NW)の改善、その他原因不明のITトラブルまで、現役インフラエンジニアが直接サポートします。単発でのご相談や、毎月のスポット顧問契約も可能です。

Sponsored Link

実務で即戦力!ITサポート業務委託契約書テンプレート📝 フリーランスエンジニアや副業のシステム保守案件で、トラブルを劇的に防ぐプロ仕様の雛形。
バグ・要望を報告する