curl カール

英語表記curl

日本語表記URLデータ転送

正式名称curl

危険度注意

What does it mean?

HTTPを中心に多くのプロトコルでデータを送受信します。API確認やヘッダー確認で特に便利です。

Command Quest

curl を今日の道具にする

HTTPを中心に多くのプロトコルでデータを送受信します。AP...

$ curl [オプション] URL
関連用語38
次のコマンド0
FAQ2
参照2

概要

HTTPを中心に多くのプロトコルでデータを送受信します。API確認やヘッダー確認で特に便利です。

基本構文

curl [オプション] URL

詳細解説

curlは、URLを相手にデータを送受信するコマンドです。HTTPやHTTPSの確認に使われることが多いですが、FTPなど複数のプロトコルにも対応します。

実務では、APIの疎通確認、HTTPヘッダー取得、認証付きリクエスト、ファイルダウンロード、障害調査で頻出します。

大切なのは、標準出力へ本文を出す既定動作、-Iでヘッダーだけを見る、-Lでリダイレクトを追う、-oや-Oで保存方法を変える、といった基礎を押さえることです。

このコマンドを使う場面

HTTP疎通確認、APIテスト、ヘッダー確認、ファイル取得、Web障害調査に使います。

まず安全に試す方法

1. curl -I https://example.com
2. curl -L -o example.html https://example.com
3. curl -s https://example.com | head

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. -Iで応答コードとcontent-typeを確認します。

  2. -L -oでリダイレクト込みの取得を試します。

オプション

  • -I
    レスポンスヘッダーだけ取得します。
    curl -I https://example.com
  • -L
    リダイレクトを追跡します。
    curl -L https://example.com
  • -o ファイル
    保存先ファイル名を指定します。
    curl -o out.html https://example.com
  • -H ヘッダー
    HTTPヘッダーを追加します。
    curl -H "Accept: application/json" https://api.example.com
  • -d 本文
    POSTなどの送信データを指定します。
    curl -d "a=1" https://example.com/form

実行結果サンプル

  • curl -I https://example.com
    HTTP/1.1 200 OK
    content-type: text/html ...

戻り値コード

  • 0 正常終了。転送に成功しました。
  • >0 名前解決失敗、接続失敗、TLS失敗などで転送できませんでした。

使用例

  • curl -I https://example.com
  • curl -L -o out.html https://example.com
  • curl -H "Accept: application/json" https://api.example.com

よくあるエラー

  • 301や302で意図した内容が見えない
    原因: リダイレクト先を追っていません。
    対処: -Lを付けて追跡します。
  • 認証情報をそのまま履歴へ残した
    原因: コマンドラインへ機密情報を直接書きました。
    対処: 設定ファイル、環境変数、標準入力などを検討します。

導入・互換性情報

機能差はバージョン依存です。TLS、HTTP/2、HTTP/3対応状況はビルドオプションで変わります。

注意点 / セキュリティリスク

危険度は中程度です。認証情報や機密ヘッダーをシェル履歴へ残さない工夫が必要です。

FAQ

  • Q. wgetとの違いは何ですか。
    A. curlは送受信やAPI確認に強く、wgetは再帰取得や非対話ダウンロードで便利な場面があります。
  • Q. 本文を表示せず状態だけ見たい時はどうしますか。
    A. -Iでヘッダーだけ見るか、-o /dev/nullと-wを組み合わせます。

関連用語

  • リポジトリ
  • API
  • encryption
  • TLS
  • certificate
  • CA
  • confidentiality
  • availability
  • HTTP
  • HTTPS
  • reverse proxy
  • proxy
  • load balancer
  • DoH
  • CDN
  • web server
  • application server
  • registry
  • Kubernetes
  • deployment
  • ingress
  • incident
  • runbook
  • SLA
  • SLO
  • SLI
  • repository server
  • mirror server
  • cloud
  • IaaS
  • PaaS
  • SaaS
  • serverless
  • object storage
  • BMC
  • Redfish
  • service mesh
  • integration test

参照リンク

関連記事