コピペコードで快適生活

明日使えるソースを自分のために

curlでたまに使うオプション

たまにしか使わなくて忘れていることがあるのでメモ。
随時追加していく。

# SSLエラーを無視
curl -k http://example.jp/

# リダイレクト対応
curl -L http://example.jp/

# リクエストにヘッダー追加
curl -H "key1: val1" -H "key2: val2" http://example.jp/

# フォーム送信
curl -d 'key=val' http://example.jp/

# フォーム送信
curl -X POST --data-urlencode "login=taro@example.jp" --data-urlencode="password=hogehoge" http://example.jp/auth

# json形式でフォーム送信する例
curl -X POST -H 'Content-type: application/json' -d '{
"login": "taro@example.jp",
"password": "hogehoge"
}' http://example.jp/auth

# ヘッダを表示する
# リクエストヘッダは > で、レスポンスヘッダは < で表示される。
curl -v http://example.jp/

# レスポンスヘッダを表示する(HEADメソッド使う版)
curl -I http://example.jp/

# レスポンスヘッダとレスポンスボディを分けてファイル保存する
curl -X POST http://example.jp/auth -s -D header-text > body-text

# ユーザエージェントを送信
curl -A "iPhone" http://www.example.com

# ファイル送付(他のパラメータもすべてFオプションにする)
curl -X POST -H "Content-type: multipart/form-data" -F "avatar_file=@neko01.png" -F "other_text_field=hoge" "http://www.example.com" 

# socket通信
curl --unix-socket /var/www/app/current/tmp/sockets/unicorn.sock localhost/api/hoge

# レスポンスタイムを表示
curl "http://example.com" -s -o /dev/null -w  "%{time_starttransfer}\n"