curlコマンドでJSONデータをPOSTする方法

目次

スポンサードリンク

curl コマンドを利用して、POSTデータを送信する方法を解説します。直接データを指定する方法とファイルに保存したJSONデータを送信する方法の2種類を解説します。

curlコマンドの基本構文

curlコマンドはサーバーとの間でデータ転送するためのツールです。curlコマンドの基本構文は以下です。コマンドの後にオプション、URLを入力します。

curl [オプション] [URL]

JSONデータをPOSTする方法

curlコマンドでPOSTデータを送信する時は、-H オプションでリクエストヘッダー、 Content-Type: application/json を指定します。

送信するJSONデータ本体を指定する際は、-d オプションでJSONデータを指定します。データはシングルクォートまたはダブルクォートで囲みます。

以下は実行例です。

[root@hostname tmp]# curl -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' https://httpbin.org/post
{
"args": {},
"data": "{\"name\": \"John\", \"age\": 30}",
"files": {},
"form": {},
"headers": {
    "Accept": "*/*",
    "Content-Length": "27",
    "Content-Type": "application/json",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.29.0",
    "X-Amzn-Trace-Id": "Root=1-66533c36-45ecbde12bbcd693777843ab"
},
"json": {
    "age": 30,
    "name": "John"
},
"origin": "1XX.XXX.XXX.XXX",
"url": "https://httpbin.org/post"
}

ファイルに保存したJSONデータをPOSTする方法

JSONデータを直接していする代わりに、ファイルに保存したJSONデータを送信する場合は、-d オプションに、@マークに続けて ファイルのパスを指定します。

curl -H "Content-Type: application/json" -d @/path/to/file  https://httpbin.org/post



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon