Windows8のコマンドプロンプトにおけるcurl接続の書き方
POSTメソッドで同時に指定するjson引数の渡し方でうまくいった例
PHPのフレームワークPhalconでRest APIを作成中にPOSTリクエストを行う必要があったので、
以前ダウンロードしてセットアップしてあったCurlでPOSTをリクエストを送信する。
curl -i -X POST -d "{\"name\":\"test name\",\"type\":\"2\",\"year\":1977}" http://phalcon-restapi.local/api /robots
ダブルクォーテーションのエスケープが必要な点とパラメータ全体をシングルクォーテーションではなく、ダブルクォーテーションで括らないとうまくいかなかった。この点が同じなら下の方法でもエラーになることはない。
curl -i -X POST -d "{\"name\":\"test name2\",\"type\":\"1\",\"year\":1977}" -H "Content-Type: application/js on" http://phalcon-restapi.local/api/robots
うまくいかなかった例
下の例のようなやり方ではPOSTリクエストを送信してもパラメータをサーバ側で受ける処理がうまくいかなかった。
curl -i -X POST -d "{"name":"test name","type":"1","year":1999}" http://phalcon-restapi.local/api/robots
curl -i -X POST -d '{"name":"test name","type":"2","year":1995}' http://phalcon-restapi.local/api/robots
- ダブルクォーテーションのエスケープ処理
- 全体をダブルクォーテーションで括る
この2点はWindows環境のコマンドプロンプトからCurl接続する場合は注意しておきたい点