HTTPieのPOST
defaultで、jsonで送られる
curlのdefaultは↑これである
HTTPieで同様のことをするためには、 --form
をつける
これで一回めっちゃ詰まった

curlでは成功するのに、httpieでは失敗する、なんで?になった
POSTの時
cheat sheet$ http POST http://example.com/posts/3 \
Origin:example.com \ # : HTTP headers
name="John Doe" \ # = string
q=="search" \ # == URL parameters (?q=search)
age:=29 \ # := for non-strings
list:='[1,3,4]' \ # := json
file@file.bin \ # @ attach file
token=@token.txt \ # =@ read from file (text)
user:=@user.json # :=@ read from file (json)
$ http POST httpbin.org/post data1=value1 data2=value2
=
を使う
{ "data1": "value1", "data2": "value2"}
という文字列データのobjectを渡したのと同じ
もうちょい複雑な例
JSONのfieldを1行ずつ書いている感じ
$$ http POST httpbin.org/post \
data1='value hoge' \
data2=value2 \
data3:=3 \
data4:='{"data4_1": "value4_1","data4_2": 42}' \
data5:='["data5_1","data5_2","data5_3"]'
文字列以外の型のデータについては :=
を使う
これややこしいよな、
:=
に統一すればいいのに

逆に文字列に :=
使ってもエラーになる
保存済みのjsonファイルを付与する
$ http POST httpbin.org/post @post_data.json
post_data.json
というファイルを付与する
$ http POST httpbin.org/post data1:=@post_data_1.json
fieldの指定もできる
配列