curl - izudon/izudon.github.io GitHub Wiki

コマンドラインオプション

ファイルに出力

  • -o filename ファイルに出力。
  • -O URLどおりのファイル名に出力。

進捗表示

  • (デフォルト)速度などを複数行で表示。
  • -# プロフレスバー表示
  • -s silent 進捗を表示しない。
  • -S -s ではエラーメッセージなども表示されなくたってしまうため、
    -Ss として、エラーメッセージなどは表示されるようにする。

ヘッダ

  • -I ヘッダを取得する。
  • -i ヘッダ・ボディの両方を取得する。
  • -v リクエストヘッダも表示する。
  • --trace 送受信される全データをダンプする(16進)。
  • --trace-ascii アスキー表示でダンプする。
  • --trace-time ダンプに日時を付加する。
  • -H Request Headerを追加する。Content-Typeを指定する時など。
    • -H "Content-Type: application/json"

POST リクエスト

  • -X POST または -XPOST POST リクエストにする。
  • --data -d パラメタを文字列指定する(a=b&c=d 形式)。
    • --data-urlencode パラメタをURLエンコードして指定する。
      & もエンコードされるので、キー=値のセットは1組しか指定できない。
      したがって、2組以上指定したければ「-d 何々」をその分だけ追加する。
  • --form -F ファイルアップロードなどに使える形式でパラメタを追加する。
    • -dContent-Type: application/x-www-form-urlencoded で、
      -FContent-Type: multipart/form-data で、パラメタを追加する。
    • したがって、両者を併用することはできない。
    • -F key=@filename で、相対パス指定のそのファイルが key に紐づいて、
      アップロードされる。

BASIC 認証

  • -u user:pass で BASIC 認証にこれで応じるという指定になる。
    • -u user pass を省略すると、プロンプトで聞かれる。
    • http(s)://user:pass@host/... URLに含み込ませるという手もある。

Cookie

  • -c cookie.txt レスポンスクッキー を cookie.txt に保存。
  • -b cookie.txt リクエストクッキー に cookie.txt の中身を 含める。

終了コード

  • --fail -f 失敗時の終了コードを0以外にする。
  • 401 407 のような認証関係の失敗では不安定になるらしい。

-w

  • いろいろな情報の表示
  • URLエンコードするだけ

といった用途に使える。

その他

  • -k SSL証明書を無視する。オレオレ証明書を通過させる場合など。
  • -x Proxyを指定。
  • -L リダイレクトを追う。

資料