毎回忘れるcurlのオプションまとめ
curlのオプションを何回調べても覚えられないので、自分用の備忘録として書き留めておきます。
メソッドの指定
Xオプションです。
$ curl -X POST http://hoge.com
ヘッダの指定
Hオプションです。Hオプションは複数回指定できます。
$ curl -H 'Authoriaztion:key=aaaabbbbccccdddd' http://hoge.com
ボディの指定
ボディの指定はdオプションでできますが、何種類かやり方があります。
どうせJSONを投げたいんだと思うので、このうちのどれかで対応できるはずです。
コマンドラインオプションで指定
そのままベタ書きするといけます。一番オーソドックスなやつです。
$ curl -X POST -H 'Content-Type:application/json; UTF-8' -d '{"id":"0123456789"}' http://hoge.com
ファイルで指定
ファイルに書き込まれたJSONを投げたいときはファイル名の前に@をつけると良いです。
$ cat body.json {"id":"0123456789"} $ curl -X POST -H 'Content-Type:application/json; UTF-8' -d @body.json http://hoge.com
パイプで繋いで指定
これ知らなかったんですけど、パイプから繋いで指定することもできるっぽいです。
$ echo '{"id":"0123456789"}' | curl -X POST -H 'Content-Type:application/json; UTF-8' -d @- http://hoge.com
ダンプ
色々ダンプしたい情報ごとに指定するオプションがたくさんあるんですけど、とりあえずtrace-asciiオプションで大体全部出せます。
$ curl --trace-ascii http://hoge.com
まとめ
多分ここを見ればこの記事タイトルから知りたかったことが全て理解できると思います。
$ cat body.json {"id":"0123456789"} $ curl -X POST -H 'Content-Type:application/json; UTF-8' -d @body.json --trace-ascii http://hoge.com