HTTPリクエストの送信

Bash:
HTTPリクエストの送信

How to: (方法)

Bashを使って、HTTPリクエストを手軽に送るためには、curl コマンドがよく使われます。以下、基本的な例を見てみましょう。

# GETリクエストでウェブページを取得
curl http://example.com

# POSTリクエストでデータを送信
curl -d "param1=value1&param2=value2" -X POST http://example.com/resource

# ヘッダーを追加する
curl -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}' http://example.com/resource

# レスポンスヘッダーを表示
curl -i http://example.com

各コマンドを実行すると、サーバーからのレスポンスがコンソールに表示されます。

Deep Dive (深掘り)

HTTPリクエストを送る機能は、1990年のWWWの発足以来、Webの基本です。BashからHTTPリクエストを送れるcurlは、Daniel Stenberg によって1997年にリリースされました。wgetやライブラリを使った方法(HTTPiewget)、より進んだスクリプトで使うためのツール(httpxbatshなど)もありますが、シンプルさと普及度からcurlが最も頻繁に使われます。

curlは多機能で、HTTPだけでなく、FTPやSMTPなど他のプロトコルにも対応しています。リクエストのカスタマイズ、アップロードとダウンロードの管理、シンプルなREST APIのテストなど様々な用途に使われています。

HTTPSを介したセキュアなリクエスト送信には、-k オプションや適切な CA 証明書を指定する方法があります。複雑な操作を必要とする場合、Bashスクリプト内にcurlコマンドを組み込んで自動化することも可能です。

See Also (関連情報)