最近 curl で API の検証を行う機会が多いのだが、オプションがいまいちわかってないのでここにメモを残します。
-d オプション(--data "データ")
データをPOSTしたのと同じように送る。
このオプションを指定した場合は "Content-Type:application / x-www-form-urlencoded" のようなデフォルトのヘッダーが含まれる。
エンコード未済のデータを扱いたい場合
エンコード未済のデータを扱いたい場合は、”--data-urlencode" オプションを使用すればエンコードしてから POST してくれる。
json データを扱いたい場合
json形式のデータを渡したい場合は、以下のようにヘッダを追加する。
curl -d '{{json data}}' -H 'Content-Type: application/json' https://example.com
-F オプション(--form "名前=値")
指定した内容をフォームから入力したのと同じように送る。
このオプションを指定した場合は、Content-Type はデフォルトで「multipart/form-data」が指定される。