cURL
この記事では「cURL」について、基本の意味と使い方を初心者向けにやさしく説明します。
Client URL
このページでわかること
- cURLでHTTPリクエストを送る基本
- GET・POST・ヘッダー・ボディの役割
- ブラウザーの入力チェックだけに頼れない理由
cURLとは?
cURL は「Client URL」の略です。
cURL は、URL を介してデータを転送するためのコマンドラインツールおよびライブラリです。HTTP、HTTPS、FTP など、さまざまなプロトコルをサポートしています。
cURL を使用すると、リモートサーバーとの間でデータを簡単に送受信できます。例えば、API へのリクエストやファイルのアップロード、ダウンロードなどが可能です。
Linux や macOS では標準搭載されていることが多く、Windows でも簡単に導入できます。
また、プログラム言語(PHP・Python など)から使える libcurl というライブラリ版もあります。
cURLの特徴
- コマンド一発でサーバーにHTTPリクエストを送れる
- ヘッダーやボディの内容を自由に指定できる
- Cookie、認証情報、ファイルアップロードなど多機能
- Webブラウザの制約(例: JavaScriptのバリデーション)を一切受けない
例: HTMLの制約を無視して送信できる
HTMLフォームで入力チェックをしていても、cURLを使えば自由にリクエストが作成できます。
例えば、フォームで「年齢は 0~120 の範囲」という制約があったとしても、次のようなリクエストを送れてしまいます。
Git Bash
curl -X POST https://example.com/form-submit \
-d "age=9999&name=Hacker"
- -X POST → POSTリクエストとして送信
- -d → 送信するデータを指定
このように、HTMLのクライアントサイド制約は簡単に無視できるため、サーバー側でも必ず検証が必要ということになります。