Linuxコマンドメモ:curl

HTTPを始めFTPやLDAPなど多様なプロトコルに対応したクライアント

curl [options...] <url>

Options

ヘルプが充実してるのでヘルプ見たほうが早い

  • -X method
    • -X POSTとかするとそのメソッドを投げられる
  • -s
    • 通信の進捗を表示しない
    • 通信エラーも表示しない
  • -S
    • -sが指定されている時にエラーを表示する
  • -L
    • location headersを読む
    • 3xx系のコードの追従する(302 redirectとか)
  • -v
    • --verbose
    • レスポンス内容が全部出る
      • レスポンスヘッダを見る時に使える(-Iでも見れるがHEAD methodを投げてるだけなので-Xと併用できない)
      • エラー出力されるのでgrepしたい時などは標準出力にリダイレクトが必要
        • 2>&1
  • -d
    • x-www-form-urlencodedを投げる時に使う
    • -d key=value
      • 複数あるときは複数指定する
  • --data-urlencode
    • -dと同じだが中身がURLエンコードされる
  • -o <path>
    • ファイルを保存する
    • ダウンロード目当てならwgetのほうが使いやすい

JSONのPOST

curl -sSLI -X POST -H 'Content-Type: application/json' -d '{ "hoge": "piyo" }' -- 'https://example.com'

参考