Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

個人的によく使うcurlコマンドのオプションをまとめました

認証情報の付与

# basic認証のかかったサイトにアクセス(-uもしくは--user)
$ curl -user USER_ID:PASSWORD http://www.example.com/

# NTLM認証もしくはDigest認証のかかったサイトにアクセス(--anyauth)
$ curl --anyauth --user USERID:PASSWORD http://www.example.com/

データの付与

# フォームの送信(-dもしくは--data)
$ curl --data FORM_ID=VALUE http://www.example.com/

# フォームからファイルのアップロード(-Fもしくは--form)
$ curl --form FORM_ID=@example.png http://www.example.com/

# User-Agentを付与(-A)
$ curl -A "USER_AGENT" http://www.example.com

# クッキーの送信(-b)、保存(-c)
$ curl -b cookie.txt -c cookie.txt http://www.example.com/

# HTTPヘッダーの指定(-headもしくは--head)
$ curl -H "KEY: VALUE" http://www.example.com/

# HTTPBodyにパラメーターを設定してPOST、ファイルで指定する場合は@ファイル名とする
$ curl -d "KEY=VALUE"
$ curl -d @FILE_NAME

動作の指定

# HTTPメソッドの指定(-X)
$ curl -X PUT http://www.example.com/

# SSLのエラーを無視して処理を継続(-k)
# (サーバー側証明書が不正、クライアント側のルート証明書が不正など)
$ curl -k http://www.example.com/

# リダイレクトさせる(-L)
$ curl -L http://www.example.com/

情報確認(デバッグ系)

# HTTPレスポンスヘッダーの取得(-I)
$ curl -I http://www.example.com/

# 詳細をログ出力(-vもしくは--verbose)
$ curl -v http://www.example.com/

# 進捗やエラーを表示しない(-sもしくは--silent)
# (curlの結果をパイプで次のコマンドに渡す際に、通信時間のデータなどが邪魔にならないようにする)
$ curl -s http://www.example.com/

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away