LoginSignup
1
1

More than 3 years have passed since last update.

curl よく使うコマンドを端的に

Posted at

curlからwebAPIにPOSTする方法

ずいぶん前に下位10%のダメなエンジニアにだけ解けないパズルを解いた時にまとめたもの。

パラメータを直接指定して送る場合

shell
curl -v http://challenge-your-limits.herokuapp.com/challenge_users \
-X POST \
-d 'name=your-name&email=123456789@example.com&comment=Thanks!' | jq .

json形式で送る場合

shell
curl -v http://challenge-your-limits.herokuapp.com/challenge_users \
-X POST \
-H "Content-Type: application/json" \
-d '{"name":"your-name","email":"123456789@example.com", "comment":"Thanks!"}' | jq .

オプション

-v レスポンスヘッダを標準出力
-X リクエストの種類を指定
-H リクエストにヘッダを追加
-d ボディの追加
\ コマンドラインにおいて複数行入力したい場合に使う

manでdオプションの説明を見てみると

Sends the specified data in a POST request to the HTTP server

とあるので、この場合は本来XオプションでPOSTを指定する必要はないがオプションの紹介のために記載しておく

jq

jqはjsonをパースするためのコマンドで、|(パイプ)で繋げることで標準入力として受け取ったjsonを整形し標準出力に表示する

Appendix

urlにあるファイルをダウンロード

shell
 curl -O url
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1