【Linuxコマンド】curlコマンドのオプションと複数パラメータについてメモ

linux_commnd

色々と便利なcurlコマンドですが、この間複数のパラメーターを持つURLを指定していてハマったのでメモしておきます。

あと備忘録としてによく使うコマンドオプションもまとめておいて後で確認できる様にしとこう・・・φ(..)メモメモ

複数パラメーターのGETリクエストはエスケープが必要

この事がすっかり頭に無くて

curl http://hogehoge.com/hoge.php?list=3&view=4&req=true

こんな感じでcronに登録していたらパラメーターが足りないまま実行されてしまってコケていました^^

「&」の所はエスケープしないと正常に動かないと言うことで上の例の場合だと

curl http://hogehoge.com/hoge.php?list=3&view=4&req=true

こう登録することで正常に動くようになります。

curlコマンドでよく使うオプション

オプションの詳しい情報はこちらのサイトを参照 cURL – How To Use (マニュアルページ日本語訳)

  • -d, –data PARAM
    POSTリクエストとしてフォームを送信する。パラメータPARAMは「”value=name”」の形式
  • -e, –referer
    URL リファラーをURLで指定する
  • -f, –fail
    サーバエラーが発生したら黙って終了する
  • -i, –include
    HTTPヘッダを出力に含める
  • -m, –max-time
    TIME 最大転送時間をTIME秒に制限する
  • -o FILE
    取得したデータを指定したファイルFILEに出力する
  • -s, –silent
    進捗状況やエラーを表示しない
  • -u USER[:PASS]
    認証に用いるユーザー名USER, パスワードPASSを指定する(基本認証など)
  • -v, –verbose
    処理状況の更なる詳細や説明を出力させます。
  • -x HOST[:PORT]
    プロキシサーバとしてホストHOSTおよびポートPORTを利用
  • -y, –speed-time
    TIME 転送速度が指定した速度をTIME秒の間下回ったらダウンロードを終了する。速度は-Yオプションで指定
  • -A, –user-agent
    AGENT ユーザーエージェントAGENTを指定
  • -H, –head
    HEADER HTTPヘッダにHEADERを追加もしくは変更する
  • -I, –head
    ヘッダ情報を取得する
  • -O, –remote-name
    取得したデータを標準出力ではなくファイルに出力する
  • -R, –remote-time
    ダウンロードしたファイルのタイムスタンプをサーバ上のタイムスタンプに合わせる

とりとめのないまとめ

様々なパラメーターを指定することで色々な使いみちのあるcurlですが、色々出来過ぎるので中々全てのオプションを覚える・・・とはいきませんね・・・。

その都度調べてその都度新しい発見があるコマンドです^^