curlコマンドのよく使うオプションまとめ

使うたびに検索しているのでまとめます。

HTTPメソッド、リクエストヘッダの指定

# GETリクエストする
$ curl {URL}

# JSONをPOSTする
# -HでContent-Typenにapplication/jsonを指定する
# -XでPOSTを指定する
# -dでPOSTするJSONを指定する
$ curl -X POST -H 'Content-Type:application/json' -i  http://localhost:8080/items -d '{"id":1,"name":"aa","price":100}'

# ヘッダを複数つける
# -Hを複数記述すればよい
$ curl -X POST  -H 'Authorization:key2' -H 'Content-Type:application/json' http://localhost:8080/items -d '{"id":1,"name":"aa","price":100}'

# レスポンスヘッダを表示する
# -iをつける
$ curl -X POST  -H 'Authorization:key2' -H 'Content-Type:application/json' -i  http://localhost:8080/items -d '{"id":1,"name":"aa","price":100}'

HTTP/1.1 200
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 0
Date: Wed, 22 Jul 2020 15:24:14 GMT

プロキシ設定

# プロキシ指定
# -x {プロキシ}
$ curl http://xxx.yyy -x http://proxy.zzz

# プロキシ除外
# --noproxy {host名} をつける
$ curl --noproxy xxx.yyy http://xxx.yyy/zzz