curlのGETリクエスト
curlでHTTP GETリクエストを送信する方法を解説。クエリパラメータ、レスポンスヘッダー、出力オプションを活用して、あらゆるAPIエンドポイントからデータを取得しましょう。
General
詳細な説明
curlのGETリクエスト基礎
GETリクエストは最も基本的なHTTPメソッドで、サーバーからデータを取得するために使用されます。curlでは、他のメソッドを指定しない場合、デフォルトでGETリクエストが送信されます。
基本構文
curl https://api.example.com/users
このコマンドはシンプルなGETリクエストを送信し、レスポンスボディを標準出力に表示します。curlは内部で User-Agent ヘッダーの設定、DNS解決、TCP接続、TLSネゴシエーションを自動的に処理します。
クエリパラメータの追加
クエリパラメータはURLに直接追加するか、-G フラグと --data-urlencode を組み合わせて指定できます:
curl -G https://api.example.com/search \
--data-urlencode "q=hello world" \
--data-urlencode "page=1"
-G フラグを指定すると、データがリクエストボディではなくURLクエリパラメータとして送信されます。
レスポンスヘッダーの確認
-i でレスポンスヘッダーを出力に含め、-I でヘッダーのみを取得します(HEADリクエスト):
curl -i https://api.example.com/users
レスポンスの保存
-o で出力をファイルにリダイレクトするか、-O でリモートファイル名のまま保存します:
curl -o response.json https://api.example.com/users
GETリクエストでよく使うオプション
-s(サイレント): プログレスバーを非表示にする-S(エラー表示): サイレントモードでもエラーを表示する-f(失敗): HTTPエラー時にエラーコードを返す-L(リダイレクト追跡): 3xxリダイレクトを自動的にたどる
これらを組み合わせた堅牢なGETリクエストのパターン:
curl -sSfL https://api.example.com/users
curlのGETリクエストを理解することは不可欠です。これがPython、JavaScript、Goなど他の言語への変換の基礎となるからです。
ユースケース
開発者がアプリケーションコードを書く前に、REST APIエンドポイントをテストし、サーバーが期待通りのJSONレスポンスを返すことを素早く確認する必要がある場合に使用します。