Web画面に向けてcurlコマンドでPOSTする例を紹介します。
JSONのデータをPOSTする例を見たい方はこちらをどうぞ。
今回実行するコマンドがこちら。
$ curl -X POST -d 'name=Tom&age=12' http://127.0.0.1:8000/cui_post_test
-Xで HTTPメソッドの指定。
-dで POST メソッドでリクエストするデータを指定。
最後の「http://127.0.0.1:8000/cui_post_test」で送信先を指定しています。
送信先の画面はこちら。
氏名に「Tom」、年齢 に「24」を入力し、送信ボタンを押すと、
画面に「氏名: Tom さん」「年齢: 24 歳」と出力されます。
ではこの画面に向けて、先ほどのcurlコマンドを実行します。
するとテキストボックスに-dで指定したデータが入力され、その結果がコンソールに返ってきます。
下から2行目が-dの結果が反映された部分です。
$ curl -X POST -d 'name=Tom&age=24' http://127.0.0.1:8000/cui_post_test
<html lang="ja">
<head>
<meta charset="utf-8">
<title>POSTテスト</title>
</head>
<body>
<h1>POSTの送信テスト用ページです</h1>
<p>名前は[name]、年齢は[age]でPOSTしてください</p>
<form action="/cui_post_test" method="post">
<tr><th><label for="id_name">氏名:</label></th><td><input type="text" name="name" value="Tom" required id="id_name"></td></tr>
<tr><th><label for="id_age">年齢:</label></th><td><input type="number" name="age" value="24" required id="id_age"></td></tr>
<input type="submit" value="送信">
</form>
<p>↓にPOSTの結果が表示されます</p>
<p>氏名: Tom さん<br>年齢: 24 歳</p> <!-- POSTの結果が反映された部分 -->
</body>
「氏名: Tom さん 年齢: 24 歳」となっていますね。
ちなみに inputタグ内の value= の値も書き変わっています。
-dの値を変えて実行してみます。
nameを「Jon」、ageを「33」と書き換えてコマンドを実行します。
$ curl -X POST -d 'name=Jon&age=33' http://127.0.0.1:8000/cui_post_test
<html lang="ja">
<head>
<meta charset="utf-8">
<title>POSTテスト</title>
</head>
<body>
<h1>POSTの送信テスト用ページです</h1>
<p>名前は[name]、年齢は[age]でPOSTしてください</p>
<form action="/cui_post_test" method="post">
<tr><th><label for="id_name">氏名:</label></th><td><input type="text" name="name" value="Jon" required id="id_name"></td></tr>
<tr><th><label for="id_age">年齢:</label></th><td><input type="number" name="age" value="33" required id="id_age"></td></tr>
<input type="submit" value="送信">
</form>
<p>↓にPOSTの結果が表示されます</p>
<p>氏名: Jon さん<br>年齢: 33 歳</p> <!-- POSTの結果が反映された部分 -->
</body>
すると、下から二行目の値が先ほどと変わり、
「氏名: Jon さん 年齢: 33 歳」となっていますね。