Life is Beta-ful.

curl コマンドで POST

2種類ある。それぞれ使い方と Content-Type (enctype) が異なる。
cf. enctype について

あと、クエリに & を含む場合は URL をクオートで囲う必要がある。


-d, --data <data> (HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses button.

$ curl -d 'a=1' -d 'b=2'
# Content-Type: application/x-www-form-urlencoded


-F, --form <name=content> (HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC 2388. This enables uploading of binary files etc.

$ curl -F 'file=@"localfile",filename="nameinpost"'
# Content-Type: multipart/form-data

おまけ: SSL/SSH key の指定

--key <key> (SSL/SSH) Private key file name.

$ curl --key ~/.ssh/hoge.key ''
# こんな感じ

▲ ページトップへ移動