curlコマンド


HTTPヘッダの表示

curl -v $url

# リクエストヘッダ例
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:3000
> Accept: */*
> 

# レスポンスヘッダ例
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Content-Type: application/json; charset=utf-8
< Content-Length: 29
< ETag: W/"1d-bvlELwnxb+tXdffzqwtYpvmLpOA"
< Date: Wed, 20 Mar 2019 10:52:26 GMT
< Connection: keep-alive
< 

URLパスのパーセントエンコード

curl -v $url/あ
#
> GET /あ HTTP/1.1
# 正しくは/%E3%81%82
<pre>Cannot GET /%C3%A3%C2%81%C2%82</pre>

HTTPメソッド指定: -X, --request

curl -X POST $url

JSONを送信するとき

json='{"key": [1, 2, 3], "key2": "あ"}'
curl -X POST --header "Content-Type: application/json" --data "$json" $url

フォーム(キー・バリュー式のデータ)送信するとき

curl -X POST --data 'キー=バリュー&key=value' $url